PDA

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



mmbarname
دوشنبه 14 شهریور 1390, 11:30 صبح
سلام به همه دوستان من در پروژم دوتا جدول دارم یکی driverودیگری carکه کد راننده کلید خارجیه تو جدول
car وقتی من میخوام یک راننده رو حذف کنم با خطا مواجه میشم اینم اون خطا:
The DELETE statement conflicted with the REFERENCE constraint "FK_Car_driver". The conflict occurred in database "taxi", table "dbo.Car", column 'id'.
The statement has been terminated.

کسی میدونه باید چیکار کنم؟:ناراحت:

computer _ student
سه شنبه 15 شهریور 1390, 20:22 عصر
بله پروژه من هم همين خطا را داشت كه بر طرفش كردم
ابتدا بايد ركورد راننده اي را كه مي خواهيد حذف كنيد از جدول car حذف كنيد و بعد ركورد آن را راننده را از جدول driver
يعني اول از جداول فرزند شروع به حذف ركورد مي كنيم تا به جداول والد برسيم
براي حذف يك ركورد بايد چند عمل حذف انجام دهيد
و نكته ديگه اين كه اگه بانك را از SQL يا هر نرم افزار ديگه اي detach نكنيد عمل حذف انجام نميشه

B.I.O.H.A.Z.A.R.D
سه شنبه 15 شهریور 1390, 22:38 عصر
در قسمت Diagrams

روی فلش رابطه کلیک کنید. یه قسمت داره نوسته on delete: که شما باید گزینه cascade رو انتخاب کنید.

این کار باعث میشه دیگه خطا در این رابطه نگیرید.

computer _ student
پنج شنبه 17 شهریور 1390, 19:03 عصر
كاربر B.I.O.H.A.Z.A.R.D ميشه دقيق تر توضيح بديد من متوجه نشدم
روي فلش هاي دياگرام كليك كردم اما هيچ اتفاقي نيفتاد
اين گزينه اي كه ميگيد دقيقا كجا هست؟

FastCode
پنج شنبه 17 شهریور 1390, 23:37 عصر
كاربر B.I.O.H.A.Z.A.R.D ميشه دقيق تر توضيح بديد من متوجه نشدم
روي فلش هاي دياگرام كليك كردم اما هيچ اتفاقي نيفتاد
اين گزينه اي كه ميگيد دقيقا كجا هست؟
F4 بزنید , properties window باز میشه

linux
جمعه 18 شهریور 1390, 12:09 عصر
سلام به همه دوستان من در پروژم دوتا جدول دارم یکی driverودیگری carکه کد راننده کلید خارجیه تو جدول
car وقتی من میخوام یک راننده رو حذف کنم با خطا مواجه میشم اینم اون خطا:
The DELETE statement conflicted with the REFERENCE constraint "FK_Car_driver". The conflict occurred in database "taxi", table "dbo.Car", column 'id'.
The statement has been terminated.

کسی میدونه باید چیکار کنم؟:ناراحت:
این که خیلی منطقی هست شما نتوانید داده های جدولی که در جدول دیگر کلید خارجی هست را پاک کنید. اگر داده از جدول اصلی حذف خواهد شد اول باید اطلاعات جدول وابسته حذف شود در قسمت desgin در managment studio برای جدول مورد نظر right click کنید و از قسمت relationships ارتباط مورد را نظر پیدا کنید و تو قسمت insert and update specification روی delete rule کلیک کنید و خاصیتش را cascade بگذارید