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

    技术2022-07-11  84

    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:级联 点左上角保存即可

    成功删除效果:

    觉得有用请分享出去,帮助更多的小伙伴!

    Processed: 0.013, SQL: 9