如下语句 mysql> alter table todomodel_tasks add foreign key(user,projects) references tod omodel_projects(user,name); 在tododmoel_projects中 user和name 是一个组合,他们合起来是主键。 不是说外键只要对应其他表里的主键就好了吗。 然而会报下列错误 Cannot add foreign key constraint
问问各位大神们这是咋回事呢
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
你所用的todomodel_projects(user,name) 是複合主鍵或叫聯合主鍵,如果另一個表想做外鏈鍵引用這個複合主鍵,其所用的字段類型必須與主鍵對應一致,你看看todomodel_tasks. name與todomodel_projects.projects這兩個欄位的類型是不是不一致,所以導致建立錯誤。 另外,關於MySQL主鍵和外鍵的一些常識,可以簡單看看 http://www.cnblogs.com/web-lover/archive/2012/02/21/2615940.html
你所用的todomodel_projects(user,name) 是複合主鍵或叫聯合主鍵,如果另一個表想做外鏈鍵引用這個複合主鍵,其所用的字段類型必須與主鍵對應一致,你看看todomodel_tasks. name與todomodel_projects.projects這兩個欄位的類型是不是不一致,所以導致建立錯誤。
另外,關於MySQL主鍵和外鍵的一些常識,可以簡單看看 http://www.cnblogs.com/web-lover/archive/2012/02/21/2615940.html