如果你遇上这种情况你的表里面应该都有数据,就是因为数据里面的属性不对应导致的。(推荐教程:navicat教程)
想解决这种问题最简单粗暴的方法
就是把表里面的数据都删掉然后在创建外键就可以了;
如果不忍心删掉的话就找出两个表里面不对应的属性!
创建外键的前提:
1:参照表的字段是否存在.
2:组成外键字段要求被索引,外键字段在其他表上是主键.
3:都为innodb表.
4:字段类型一样.
5:语法正确
为了建立两个MySQL表之间的一个外键关系,必须满足以下三种情况:
* 两个表必须是InnoDB表类型。 * 使用在外键关系的域(字段)必须为索引型(Index)。所以要为设置外键的字段建立index * 使用在外键关系的两个域(字段)数据类型要相同。
以上是navicat添加外键错误1452的详细内容。更多信息请关注PHP中文网其他相关文章!