(MySQL)记录1215 - Cannot add foreign key constraint

情况分类:
(1)两字段类型不一致。
添加外键时要保证类型完全一样,不能一个是int,另一个是bigint。也不能一个是有符号的int,另一个是无符号的int。也不能一样长度为1, 另一个长度为2。在实际的使用中,这种情况会出现在类型与有无符号上。解决的方法也简单:将两个字段的类型、长度、有无符号设置一致。
(2)设置外键时“删除时”设置为“SET NULL”。
设计数据库时,将数据表中的某个字段设置为了主键,那么此主键是必然不能为null。此时,我们又设置其为外键。但在设置删除策略时,却不小把它设置为:删除时设置为null。解决策略:设置为No Action或Restrict,这两个值的意思一样,同为:在删除时检查约束,如果存在外键,则报约束性异常。
(3)两张表的存储引擎不一致
查询表的引擎:
a、show table status from db_name where name=‘table_name’;
解决策略:修改为相同引擎:alter table table_name engine=innodb;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值