View Full Version : چرا در اتصال این دو جدول به هم نمیتونم کلید ها رو جابجا کنم (خیلی ساده و فوری لطفا ببینید)
samadblaj
پنج شنبه 21 دی 1391, 12:45 عصر
سلام دوستان ببخشید دو تا جدول دارم هر وقت میخوام دو تا جدول رو به هم بکشم نمیتونم کلید ها رو مشخص کنم...
کلید اصلی من توی جدول tbl-Driver هستش اما موقعی که میخوام به جدول tbl-hozori مرتبطش کنم جدول hozori میشه کلید اصلی؟
و نمیتونم جدول رو تغییر بدم (در اتصال id ها باید جابجا بشن که نمیشه)؟
محمد سلیم آبادی
پنج شنبه 21 دی 1391, 22:49 عصر
سلام،
کلید اصلی من توی جدول tbl-Driver هستش
مساله اینه که کلید اصلی شما در جدول فوق "ترکیبی/composite" هست. به این معنا که ترکیب دو ستون UserName و DriverID منحصر بفرد هست. پس باید در جدول hozori از دو ستون نامبرده به عنوان مقدار مرجع استفاده بشه...
samadblaj
پنج شنبه 21 دی 1391, 23:48 عصر
سلام،
مساله اینه که کلید اصلی شما در جدول فوق "ترکیبی/composite" هست. به این معنا که ترکیب دو ستون UserName و DriverID منحصر بفرد هست. پس باید در جدول hozori از دو ستون نامبرده به عنوان مقدار مرجع استفاده بشه...
واقعا حضم کلماتتون برام سخت بود لطفا واضح تر برام توضیح بدیدیاید چیکار کنم الان username رو از حالت کلید در آوردم درست شد ...
آیا میشه کلید اصلی id رو به چند تا کلید دیگه در جدول های دیگه متصل کنم؟
محمد سلیم آبادی
جمعه 22 دی 1391, 07:25 صبح
لطفا واضح تر برام توضیح بدیدیاید چیکار کنم الان username رو از حالت کلید در آوردم درست شد ...ببینید وقتی دو ستون به عنوان کلید در نظر گرفته شدن در جدول (یا جداول) دیگه شما باید دو ستون داشته باشین که به این دو ستون کلید متصل بشن.
کد DDL اش شبیه به این هست(column_1و column_2 در جدول ParentTable کلید اولیه ترکیبی هستند و شما قصد دارین دو ستون از جدول ChildTable رو به اون دو کلید متصل کنید):
alter table ChildTable
add constraint foreign key (column_1, column_2)
references ParentTable (column_1, column_2)
آیا میشه کلید اصلی id رو به چند تا کلید دیگه در جدول های دیگه متصل کنم؟ منظورت اینه که کلید های موجود در جداول دیگه "کلید خارجی" در نظر گرفته بشن و Id به عنوان کلید اصلی بحساب بیاد؟ بله میشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.