文档首页/ 云数据库 RDS/ 故障排除/ RDS for MySQL/ SQL类/ 有外键的表无法删除报错ERROR[1451]的解决方案
更新时间:2022-10-26 GMT+08:00

有外键的表无法删除报错ERROR[1451]的解决方案

场景描述

数据库中的表,root用户也没有权限删除或修改。报错信息如下:

ERROR[1451] -Cannot deleteorupdatea parent row:

aforeignkeyconstraintfails (…)

故障分析

该表的frm文件在sys_tables里也存在,这个表跟其他表有外键关系,因此不能直接删除。

因为RDS for MySQL中设置了foreign key关联,造成无法更新或删除数据,可以通过设置“FOREIGN_KEY_CHECKS”变量来避免这种情况。

解决方案

set session foreign_key_checks=off;
drop table table_name;

关闭foreign_key_checks,即可删除表。