سلام
من یه مشکلی توی پروسه دیتابیس ام پیش اومده، من موقع ساخت کلید خارجی ( foreign key ) بین دوتا جدول به یه باگی میخورم که نمیدونم چجوری باید درستش کنم.
این کدی هستش که میزنم :
alter table articles
-> add foreign key (user_id) references users(id);
اینم باگی هستش که بعد از زدن کد بهم نشون میده :
ERROR ۱۰۰۵ (HY۰۰۰): Can't create table ertebat.articles (errno: ۱۵۰ "Foreign key constraint is incorrectly formed")
کسی میدونه مشکلی از چیه کمکم کنه ؟
ممنون :*
وقتی از یک ستون بعنوان FK میخواید استفاده کنید چند تا نکته زیر رو باید مد نظر داشته باشید:
اولا ستون آیدی در جدول اصلی (در مثال شما جدول users) و همچنین ستون FK در جدول رابط (user_id) باید از نوع unsigned تعریف شده باشند.
و دوم اینکه type یا نوعش باید همخونی داشته باشه با نوعی که بعدا بعنوان FK تعریف میکنید (در مثال شما ستون user_id در جدول ertebat.articles)
یعنی اگر یکیش INT هست اون یکی هم باید INT باشه.
اگر یکیش TINYINT هست اون یکی هم همین طور
اگر BIGINT هست ....
به همین ترتیب.
علتش هم منطقیه دیگه. چون قراره به هم لینک باشند نمیشه نوع های مختلف داشته باشند.
کدی که برای اضافه کردن کلید خارجی نوشتم اینه :
alter table articles
-> add foreign key (user_id) references users(id);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟