在终端中使用代码删除表格时遇到问题:
ERROR 3730 (HY000):Cannot drop table 'admin' referenced by a foreign key constraint 'student_ibfk_1' on table 'student'.
在删除表格时我用的代码:
drop table admin;
报错显示不能删除表格admin,因为有外键,并且与表格 student 有关,要删除的主键为 student_ibfk_1,
方法一:直接使用:
alter table student drop foreign key student_ibfk_1;
表示删除成功,再试一次drop table admin; 能够正确删除
再删除其他表格遇到这种问题,按照上面的方法即可,表格名和外键名要根据情况进行更改
方法二:删除依赖表
方法三:禁用外键检查
如果希望一次性删除所有表而不关心外键约束,使用临时禁用外键检查
set foreign_key_checks = 0; --禁用外键检查
drop table if exists User;
drop table if exists Student;
drop table if exists Delivery;
drop table if exists Package;
查看表格:
show tables;
结果:
可以使用代码重启外键检查
set foreign_key_checks = 1; --重新启用外键检查