【发布时间】:2012-01-16 02:20:50
【问题描述】:
我有两个表,table1 是父表,其列 ID 和 table2 列 IDFromTable1(不是实际名称)当我在 IDFromTable1 到 ID 上放置 FK 时在table1 我收到错误Foreign key constraint is incorrectly formed error。如果table1 记录被删除,我想删除表 2 记录。感谢您的帮助
ALTER TABLE `table2`
ADD CONSTRAINT `FK1`
FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`)
ON UPDATE CASCADE
ON DELETE CASCADE;
如果需要任何其他信息,请告诉我。我是 mysql 新手
【问题讨论】:
-
您的表格使用什么引擎?
table2.IDFromTable1和table1.ID是什么类型的? -
另外,检查两个表的字符集是否相同。
-
两个表引擎都是innoDB。不知道在哪里可以找到字符集,而且都是 char 类型。 ID是table1中的主键
-
请提供 table1 和 table2 的表定义。你是怎么得到这个错误的?您是否使用工具来创建外键?好像不是 MySQL 原生错误。
-
@user516883 - 您需要帮助来获取表定义吗?在 HeidiSQL 中,您只需单击 CREATE code 选项卡即可。