1.检查数据库表的引擎是否为Innodb ,MyISAM引擎不支持创建外键
2.检查设置外键的字段和外键的字段类型和编码格式是否相同(若是一个为varchar 一个为int 则会创建外键失败)。
3.检查外建名称是否重复。同一数据库模型中的外键命名是唯一,不可重复。
4.如果以上三点都不存在错误,就需要看下数据库的数据,主表中的数据和子表中的数据通过外键对应的值是否可以对应上,若是在a表中存在,但在b表中不存在,则会报错,需要删除这些杂数据,才能添加成功
基本上检查以上4点就能解决啦~