mysql删除外键时报错:ERROR 1025怎么办?

发布时间:2021-01-06编辑:脚本学堂
mysql删除外键时报错,提示ERROR 1025错误代码,原因在于指定的外键并不存在引起的;如果外键的名称写错了也会报同样的错误,可以参考下本文的解决方法。

sql语句
 

sql>alter table user drop foreign key user_grade_fk;
ERROR 1025 (HY000): Error on rename of './test/user' to './test/#sql2-12ab-1cf1' (errno: 152)

这是由于指定的外键并不存在引起的;如果外键的名称写错了也会报同样的错误。
 

sql>show innodb statusG
------------------------
LATEST FOREIGN KEY ERROR
------------------------
100725 21:03:10 Error in dropping of a foreign key constraint of table "test"."user",
in SQL command
alter table user drop foreign key user_grade_fk
Cannot find a constraint with the given id "user_grade_fk".
InnoDB: Renaming table `test`.`user` to `test`.<result 2 when explaining filename '#sql2-12ab-1cf1'> failed!

此外,直接删除外键的key时如果不存在,mysql的报错还是很直观的:
 

SQL>alter table user drop key user_grade_fk;
ERROR 1091 (42000): Can't DROP 'user_grade_fk'; check that column/key exists