PDA

نسخه کامل مشاهده نسخه کامل : سوال: کلید خارجی



salimim
26-06-2011, 09:08
سلام دوستان
2 تا جدول دارم که در جدول شماره 2 فیلد مثلا uid کلید خارجی از جدول شماره 1 هست، حالا میخوام اگه یکی از uidها رو از جدول اصلی (شماره 1) حذف کردم در جدول دوم مقدار اون uid (کلید خارجی) null بشه. چطور میتونم این کار رو بکنم؟

cdp
26-06-2011, 13:39
سلام

توی تعریف جدولی که کلید خارجی توش هست باید بعد از تعریف فیلد ها کد زیر رو استفاده کنید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کد بالا میگه فیلد uid که توی همین جدول تعریف شده یه کلید خارجیه به جدول jadval1 فیلد uid (کلید اصلی)
ON DELETE CASCADE زمان پاک شدن کلید اصلی ، کلید خارجی هم پاک می کنه...
ON UPDATE CASCADE زمان تغییر کلید اصلی، کلید خارجی هم تغییر می کنه...

تعریف جدول با کلید خارجی:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


افزودن کلیدخارجی به جدول:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


اینجا رو ببینید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشی...

salimim
28-06-2011, 09:00
سلام
ممنون از جوابتون اما من نمی خوام مقدار کلید خارجی آپدیت یا حذف بشه بلکه میخوام با حذف کلید خارجی در جدول اول، در جدول دوم مقدارش null بشه یا یه مقدار خاص( مثلا کلمه null ) بجاش قرار بگیره :worried:

cdp
28-06-2011, 15:47
به جای ON DELETE CASCADE اینو بزارید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مثال:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ehsanrezaei.gh
14-03-2012, 08:24
با سلام و خسته نباشید.کدی که توضیح دادین باید کجا بنویسم
FOREIGN KEY uid REFRENCES jadval1(uid) ON DELETE CASCADE ON UPDATE CASCADE