我将MySQL
与InnoDB
引擎一起使用。我仔细检查了列的类型。但总是有:
Error Code: 1215. Cannot add foreign key constraint
我试过了:
ALTER TABLE `mail`.`boxes`
ADD CONSTRAINT FK_id
FOREIGN KEY (id)
REFERENCES `mail`.`users` (id)
ON UPDATE NO ACTION
ON DELETE NO ACTION;
和
ALTER TABLE `mail`.`boxes`
ADD FOREIGN KEY (id)
REFERENCES `mail`.`users` (id)
没有任何作用((
请帮助,我做错了什么(除了选择MySQL :-))?
答案 0 :(得分:0)
要检查问题到底是什么,请使用:
SHOW ENGINE INNODB STATUS\G
有“最后一个外键错误”部分。请看:http://dev.mysql.com/doc/refman/5.0/en/innodb-monitors.html
我的猜测是数据类型od mail.boxes(id)和mail.users(id)不一样。 (例如,一个表中的smallint和第二个表中的整数)。
您尝试创建FK的表中的数据可能也有问题(您的邮箱ID是否与现有用户的ID相同?)
答案 1 :(得分:0)
如果表包含数据,那么您无法添加外键以删除表对象并重新创建 使用以下参考相同的