راکت

مشکل در حذف رکورد

4 پاسخ

@ali.bayat
من یک رکوردی رو در دیتابیس میخواهم پاک کنم چون که کلید خارجی دارم مانع میشه باید چیکار کنم

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`m`.`historys`, CONSTRAINT `historys_ibfk_1` FOREIGN KEY (`form_id`) REFERENCES `forms` (`id`)) (SQL: delete from `forms` where (`id` = 111 and `admin_id` = 61))",
ftp
ftp
@ftp
ثبت پرسش جدید

پاسخ‌ها

4
بهرام
بهرام
@bahram

تخصص: Laravel Developer

اول باید رکوردهایی که کلید خارجی‌شون به این اشاره داره رو پاک کنید تا بتونید این رو هم پاک کنید.
و یا اینکه مقدار

onDelete('cascade')

رو روی کلید خارجی‌تون اعمال کنید که خودش خود به خود پاک کنه....

pmsmasoud
pmsmasoud
@masoudsameiycmpengineer

منم همین ارور رو دارم ولی میخوام که رکوردی که کلید خارجییش بهش اشاره داره رو نگه دارم ایا امکانش هست ؟

شاید پاسخ شما همین‌جا باشد

میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
کدت رو بفرست

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

@masoudsameiycmpengineer

ای کاش یک تاپیک جدید ایجاد می‌کردید.

بصورت خلاصه اینکه گزینه های مختلفی وجود داره که موقع تعریف کلید خارجی برای onDelete میشه تعریف کرد.

مثلا:
cascade یعنی هر دو تاش رو با هم پاک کن.
restrict یعنی مانع پاک شدنش بشه
set null هم یعنی بدون پاک کردن رکورد وابسته، فقط بجای اون FK مقدار null قرار بده و احتمالا این مورد همون چیزی هست که دنبالش هستید.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام