一尘不染

mysql外键约束格式错误

mysql

我有两个表,table1是一列父表ID,并table2与一列IDFromTable1(而不是实际的名称),当我把一个FK上IDFromTable1,以IDtable1我得到的错误Foreign key constraint is incorrectly formed error。如果要删除记录,我想删除表2记录table1。谢谢你的帮助

ALTER TABLE `table2`  
   ADD CONSTRAINT `FK1` 
      FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) 
      ON UPDATE CASCADE 
      ON DELETE CASCADE;

让我知道是否需要其他信息。我是mysql新手


阅读 459

收藏
2020-05-17

共1个答案

一尘不染

我在HeidiSQL中遇到了同样的问题。您收到的错误非常神秘。我的问题最终是外键列和引用列的类型或长度不同。

外键列为SMALLINT(5) UNSIGNED,引用列为INT(10) UNSIGNED。一旦将它们设置为完全相同的类型,外键创建就可以完美地工作了。

2020-05-17