سلام من دارم یه فروم میسازم. قراره توی این فروم هیچ مطلب یا انجمنی پاک نشه بلکه فقط از دید مخفی بشه. من برای اینکار یه ستون از نوع bit در نظر گرفتم و سه تا جدول هم دارم یه جدول مربوط به نام انجمنها که داخلش اطلاعاتی مانند نام انجمن، مخفی بودن انجمن و ... ذخیره میشه. توی جدول دوم هم گفتگوها ذخیره میشه (منظورم از گفتگوها اینه که مثلا من توی فروم asp یه گفتگو جدید ایجاد میکنم به اسم: چگونه می توان asp را یاد گرفت) البته توی این جدول هم بازم یه ستون هست از نوع bit که برای مخفی کردن گفتگو استفاده میشه. و این دوتا جدول از طریق یه ستون مشترک با هم ارتباط دارند. و جدول سوم هم در حقیقت برای کامنتهایی هست که توی هر گفتگو کاربران قرار میدهند(مثلا همین مطلب من، یه کامنت هست ، شما جواب میدهید و اونم میشه یه کامنت دیگه) توی این جدول هم یه ستون از نوع bit هست که اونم برای مخفی کردن کامنتها از دید کاربره. و همچنین مانند بالایی از طریق یه ستون به جدول والدش یعنی جدول گفتگوها مرتبط هست. حالا من چرا این کارو کردم؟ چون نمی خوام دیتابیسم بعد کلی حذف کردن کند بشه. برای همین فقط اونا رو از دید مخفی میکنم
حالا وقتی ما می خواستیم یه ردیفی از جدول والد رو حذف کنیم براحتی جدول های فرزندش حذف میشد. حالا سوالم اینه من دارم حذف نمی کنم بلکه یه ردیف دارم که اگه true باشه اون ردیف رو نشون نمیده من چکار کنم که وقتی توی یه جدول والد یه ردیفی رو از دید پنهان کردم توی جدولهای فرزند هم اعمال بشه؟
من می تونم تا یه مرحله رو براحتی انجام بدم. مثلا اگه یه انجمنی حذف بشه آیدی اونو میگیرم و از جدول فرزندش یعنی گفتگو ها، تمام رکوردهایی که با آی دی انجمن یکی هستند رو پاک میکنم. اما واسه مرحله بعدش یعنی حذف از جدول کامنتها مشکل دارم.