首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mysql外键约束格式不正确错误

mysql外键约束格式不正确错误
EN

Stack Overflow用户
提问于 2011-12-09 00:47:34
回答 26查看 458.9K关注 0票数 235

我有两个表,table1是具有列ID的父表,table2具有列IDFromTable1 (而不是实际名称)。当我将IDFromTable1上的FK放到table1中的ID时,我得到错误Foreign key constraint is incorrectly formed error。如果table1记录被删除,我想删除表2记录。谢谢你的帮助

代码语言:javascript
运行
复制
ALTER TABLE `table2`  
   ADD CONSTRAINT `FK1` 
      FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) 
      ON UPDATE CASCADE 
      ON DELETE CASCADE;

如果需要任何其他信息,请告诉我。我是mysql新手

EN

回答 26

Stack Overflow用户

回答已采纳

发布于 2012-06-19 09:15:33

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

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

票数 541
EN

Stack Overflow用户

发布于 2015-12-15 02:37:47

当使用MyISAM引擎创建父表时,我也遇到了同样的问题。这是一个愚蠢的错误,我改正了:

代码语言:javascript
运行
复制
ALTER TABLE parent_table ENGINE=InnoDB;
票数 66
EN

Stack Overflow用户

发布于 2016-06-09 16:19:32

确保列相同(类型相同),如果引用列不是primary_key,请确保它是INDEXED

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8434518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档