mysql 外键
来源:互联网 发布:淘宝客 第三方服务商 编辑:程序博客网 时间:2024/06/14 18:37
mysql删除有外链索引数据
Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法
查询:DELETE FROM `goods` WHERE `goods_id` = '11'
错误代码: 1451
Cannot delete or update a parent row: a foreign key constraint fails (`webDB`.`goods_properties_detail`, CONSTRAINT `FK_rip_43` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`goods_id`))
以上是因为,该条记录的某个字段作为innodb的另外一个表的外链。而在删除操作时会自动检查外链。
解决办法一:先判断删除关联数据,然后再删除(这样比较符合业务逻辑比较安全)。
解决办法二:不检查外链,设置FOREIGN_KEY_CHECKS变量:
SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM `goods` WHERE `goods_id` = '11'
删除完成后设置
SET FOREIGN_KEY_CHECKS = 1;
ps:关闭唯一性校验
set unique_checks=0;
set unique_checks=1;
查询外键约束SQL语句
select
TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
where
REFERENCED_TABLE_NAME = '<table>';
- MySQL - 外键
- mysql外键
- mysql 外键
- mysql 外键
- MYSQL 外键
- MySql 外键
- MYSQL外键
- mysql 外键
- mysql 外键
- MySQL外键
- mysql 外键
- mysql 外键
- mysql外键
- mysql外键
- mysql外键
- mysql外键
- mysql外键
- mysql 外键
- MySQL的Date,DateTime,TimeStamp和Time数据类型
- js前端——滑稽官网的亮瞎眼系列滑稽大法
- 公司的h5
- Apache与tomcat的区别与联系
- Camera Paramter 深度封装( 第一弹 )
- mysql 外键
- 6模块---使用模块
- [UVa 11212] Editing a Book (迭代加深搜索)
- php调用shell创建的文件夹 权限问题
- 使用pthread_cancel终止线程的填坑历程
- 【leetcode】Ugly Number-----Java
- [乐意黎转载]Tomcat 8.0.39 And Tomcat 8.5.8 Fails Handling Requsest
- maven项目的一些常见问题
- c3p0详细配置