语句如下:
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 status\G

------------------------
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!

这里显示了报错的信息。
不过命令行下的提示确实不怎么直观,不知mysql什么时候能把错误提示做的更加友好一些。
此外直接删除外键的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