PDA

View Full Version : حذف داده جدولی که کلیدش در جدول دیگری است



سیدسبحان
پنج شنبه 18 شهریور 1395, 05:38 صبح
سلام
وقت بخیر
من میخام یک داده رو از جدولی حذف کنم که کلیدش در جدول دیگه استفاده شده. یعنی داده هایی در جدول دوم وجود داره که از کلید داده جدول اول استفاده کرده.

حالا مشکل اینه که وقتی میخام حذف کنم، میگه چون کلید خارجی یک جدول دیگه هست(منظورش جدول دومه که از این جدول اول استفاده کرده)، نمیتونی این داده رو حذف کنی.

بنظرتون چکار کنم بدون اینکه مجبور شم داده های جدول دوم رو پاک کنم ؟

ali_md110
پنج شنبه 18 شهریور 1395, 07:08 صبح
سلام
اگر منظورتون حذف از جدول parent هست میتونید خاصیت cascade delete رو فعال کنید و بصورت آبشاری با حذف از جدول parent رکوردهای child حذف بشه
یا در صورت غیر فعال بودن cascade با یک حلقه رکوردهای جدول child رو پیمایش و توی حلقه ابتدا رکوردهای آنرا حذف و سپس رکورد parent در ادامه حذف کنید

سیدسبحان
پنج شنبه 18 شهریور 1395, 07:10 صبح
سلام
اگر منظورتون حذف از جدول parent هست میتونید خاصیت cascade delete رو فعال کنید و بصورت آبشاری با حذف از جدول parent رکوردهای child حذف بشه
یا در صورت غیر فعال بودن cascade با یک حلقه رکوردهای جدول child رو پیمایش و توی حلقه ابتدا رکوردهای آنرا حذف و سپس رکورد parent در ادامه حذف کنید

تشکر
راهی نیست که داده های جدول فرزند حذف نشه ولی پدر حذف شه؟

ali_md110
پنج شنبه 18 شهریور 1395, 08:10 صبح
خب خاصیت cascade اگر null باشه یا set nulll مشکلتون حل میشه