我有两个表'mm_ads'和'mm_users'。 'mm_ads'使用Myisam数据库引擎,而'mm_users'使用InnoDb。从我所读的内容来看,在这种情况下不可能创建一个外键索引,因为后者引擎是事务性的,而第一个引擎不是。但是当我运行时:Mysql错误代码1452与两个表与不同的数据库引擎
ALTER TABLE mm_ads ADD CONSTRAINT FK_76EC3E1DF132696E3358 FOREIGN KEY (userid) REFERENCES mm_users (id)
没有错误显示,它报告受影响的行数,没有别的。比我看到,fk不是只创建表中列的索引。当我研究这个问题时,我发现表的引擎不同,所以我将mm_ads的引擎更改为Innodb。但是当我运行命令时,我得到这个错误。
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`admin_pw`.<result 2 when explaining filename '#sql-61b_3019e'>, CONSTRAINT `FK_76EC3E1DF132696E3358` FOREIGN KEY (`userid`) REFERENCES `mm_users` (`id`))
userid和id的类型是相同的,我在表中有值。
下降及补充外键约束一次。 – SparKot 2013-02-28 14:10:59