
# 存在外键的表无法删除
#### 场景描述
删除MySQL表时，如果表中有外键（foreign key），会出现如下报错，且和用户权限无关：
```
ERROR 1451 (23000): Cannot delete or update parent row: a foreign key constraint fails …………
```
#### 原因分析
这个表和其他表有外键关系，在MySQL中，设置了外键关联，会造成无法更新或删除数据，避免破坏外键的约束。
可以通过设置变量FOREIGN_KEY_CHECKS值为off，来关闭上述机制，详见[官方文档](https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html)。
#### 解决方案
通过设置变量FOREIGN_KEY_CHECKS值为off，来关闭上述机制：
```
set session foreign_key_checks=off; 
drop table table_name;
```
