关于MySql删除某一条记录外键约束删除失败解决方案

mysql外键约束删除失败

错误信息如下:

错误1(SSM控制台报错)

错误
Servlet.service() for servlet [ttms] in context with path [/ttms_dl] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:

Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (ttms.collect_scenic, CONSTRAINT collect1 FOREIGN KEY (alx_uid) REFERENCES alx_user (alx_uid))

The error may involve com.ttms.core.dao.AlxUserDao.deleteAlxUser-Inline

The error occurred while setting parameters

SQL: delete from alx_user where alx_uid=?

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (ttms.collect_scenic, CONSTRAINT collect1 FOREIGN KEY (alx_uid) REFERENCES alx_user (alx_uid))

; SQL []; Cannot delete or update a parent row: a foreign key constraint fails (ttms.collect_scenic, CONSTRAINT collect1 FOREIGN KEY (alx_uid) REFERENCES alx_user (alx_uid)); nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (ttms.collect_scenic, CONSTRAINT collect1 FOREIGN KEY (alx_uid) REFERENCES alx_user (alx_uid))] with root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (ttms.collect_scenic, CONSTRAINT collect1 FOREIGN KEY (alx_uid) REFERENCES alx_user (alx_uid))

错误2(navicat删除时报错)

在这里插入图片描述

使用以下方法无效的:

“先取消表的外键约束,再删除表的数据,最后恢复表的外键约束
SET FOREIGN_KEY_CHECKS = 0;
删除操作;
SET FOREIGN_KEY_CHECKS = 1;


解决方案:

1.标题找到设置外键的表

RESTRICT:限制
eg:
在这里插入图片描述

2.修改为

CASCADE:级联
在这里插入图片描述
点左上角保存即可

成功删除效果:

在这里插入图片描述
在这里插入图片描述
觉得有用请分享出去,帮助更多的小伙伴!


版权声明:本文为qq_44776801原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。