这种报错是提示无法正确的插入外键约束,那我分析一下,设置外键有以下几个条件:

1、要设置外键的字段不能为主键

2、改建所参考的字段必须为主键

3、两个字段必须具有相同的数据类型和约束

满足这三个条件一般在创建外键的时候就不会报错,而这里报错了cannot add foreign key constraint大多数是因为第三个条件不满足,例如,我这有两个表,一个主表是dvl_product产品表,从表是dvl_protype,其中外键时dvl_product表中的tid字段,参考字段为dvl_protype的id字段

主表如下所示

image.png

外键如下所示

image.png

从表如下所示

image.png

在从表我设置了id主键我们一般会设置自增长、无符号,但是我在主表设置外键的时候却没有对tid字段设置无符号约束,所有导致如上的错误,值得注意的是,不单单是约束一样,还要两个字段的类型和长度一样才不会报错额。