PDA

View Full Version : update کردن فیلدی که در table استان به عنوان کلید اصلی و در table شهر به عنوان کلید خارجی است



mohammad kafiyan
چهارشنبه 06 بهمن 1389, 21:11 عصر
با سلام به دوستان
چگونه می تونم update کردن فیلدی که در table استان به عنوان کلید اصلی و در table شهر به عنوان کلید خارجی است را انجام دهم

Reza_Yarahmadi
چهارشنبه 06 بهمن 1389, 22:07 عصر
در بدترین حالت میتونید بصورت زیر عمل کنید.
ابتدا در جدولی که کلید اصلی است سطر جدیدی با مشخصات سطر مربوطه ایجاد و فیلد کلید اون رو مقدار جدید قرار بدید ، تمام کلیدهای خارجی رو به مقدار کلید جدید تغییر بدید ، سطری که دارای کلید قدیمی است حذف کنید.

mohammad kafiyan
چهارشنبه 06 بهمن 1389, 22:53 عصر
سلام دوست عزیز من اصلا متوجه نشدم یک کمی بیشتر توضیح بده یا نمونه کد یا مثال را برایم قرار بدهی منون می شم

Reza_Yarahmadi
پنج شنبه 07 بهمن 1389, 13:18 عصر
فرض کنید توی جدول استان فیلدهایی بصورت زیر دارید

id StateName
----------------------------
تهران 1
و توی جدول شهرستان بصورت زیر

id StateId CityName
-----------------------------------
تهران 1 11
ورامین 1 12
فیروزکوه 1 13
دماوند 1 14
حالا قصد دارید id تهران رو از 1 به 2 تغییر بدید ، برای این کار ابتدا توی جدول استان رکورد جدیدی بصورت زیر ایجاد کنید

id StateName
----------------------------
تهران 1
تهران 2
بعد جدول شهرها رو بصورت زیر تغییر بدید

id StateId CityName
-----------------------------------
تهران 2 11
ورامین 2 12
فیروزکوه 2 13
دماوند 2 14
بعد از این کار هم سطری که دارای Id = 1 است رو حذف کنید تا جدول استانها بصورت زیر بشه

id StateName
----------------------------
تهران 2

m_omrani
پنج شنبه 07 بهمن 1389, 22:26 عصر
البته اگه cascade update رو برای کلید خارجی تون فعال کنید، وقتی کلید اصلی رو تغییر می دید، تغییرات به طور خودکار به جدول شهرستان اعمال می شه، بدون این که مجبور باشید خودتون دستی به صورتی که جناب یاراحمدی توضیح دادن انجام بدید.