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:级联
点左上角保存即可
成功删除效果:
觉得有用请分享出去,帮助更多的小伙伴!