Cannot add foreign key constraint

创建数据库,建表时关联外键报错处理。

在网上搜了很多,都介绍了创建外键失败的原因:

1、关联的字段类型或长度不一致。

2、两个关联的表编码不一样。

3、某个表已经有记录了或没有记录,不一致。

4、将“删除时”和“更新时”都设置相同,如都设置成CASCADE。

实际解决办法:

一:

-- 检查外键设置;

select @@FOREIGN_KEY_CHECKS;

 

-- 修改检查外键设置;0==关闭外键设置;1==打开外键设置

SET @@FOREIGN_KEY_CHECKS=0;

注意:导入完成后,需要将修改设置SET @@FOREIGN_KEY_CHECKS=1;

如以上操作仍然没有解决问题,尝试第二种方法:

-- 查询全局变量外键设置;

select @@global.FOREIGN_KEY_CHECKS

-- 如果为1,设置全局变量为0;

SET @@global.FOREIGN_KEY_CHECKS=0;

-- 导入成功后修改为1;

SET @@global.FOREIGN_KEY_CHECKS=1;
 

你可能感兴趣的:(数据库,sql,mysql)