综合技术交流
直播中

ss

7年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[经验]

MySQL报错cannot add foreign key constraint怎么解决

  这种报错是提示无法正确的插入外键约束,那我分析一下,设置外键有以下几个条件:
  1、要设置外键的字段不能为主键
  2、改建所参考的字段必须为主键
  3、两个字段必须具有相同的数据类型和约束
  满足这三个条件一般在创建外键的时候就不会报错,而这里报错了cannot add foreign key constraint大多数是因为第三个条件不满足,例如,我这有两个表,一个主表是dvl_product产品表,从表是dvl_protype,其中外键时dvl_product表中的tid字段,参考字段为dvl_protype的id字段
  主表如下所示
   1.png
  外键如下所示
   2.png
  从表如下所示
   3.png
  在从表我设置了id主键我们一般会设置自增长、无符号,但是我在主表设置外键的时候却没有对tid字段设置无符号约束,所有导致如上的错误,值得注意的是,不单单是约束一样,还要两个字段的类型和长度一样才不会报错额。

更多回帖

发帖
×
20
完善资料,
赚取积分