MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。
SET FOREIGN_KEY_CHECKS = 0;
删除完成后设置
SET FOREIGN_KEY_CHECKS = 1;
其他:
关闭唯一性校验
set unique_checks=0;
set unique_checks=1;
扩展:
hibernate和Oracle两方不能同时处理数据完整性。解决方法如下:
(方法1)将数据完整性约束交给Oracle处理,不用在Hibernate中设置数据完整性。
(方法2)将数据完整性约束交给Hibernate,在Hibernate设置好主子表关系,以及级联删除,这样就去除掉Oracle数据库中表的完整性约束,也就是不用设置子表的外键。