创建数据库,建表时关联外键报错处理。
在网上搜了很多,都介绍了创建外键失败的原因:
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;