mysql为何不让删外键?【MySQL教程】,mysql,外键
1.MYSQL在建外键后,会自动建一个同名的索引
2.而删除外键的时刻,这个同名索引假如没被删,则MYSQL以为外键依然存在---MYSQL会在show keys敕令里继承显现外键,当你drop table时,MYSQL也会继承提醒你"a foreign key constraint fails"即外键束缚失利
3.天然,当你再次想删除在show keys里瞥见的外键的时刻,会报1025毛病,这确切如网上说的,外键名毛病,由于实际上外键已不存在了.但惋惜的是不管从show keys照样其他表操纵你都能看到外键依然是存在的,这就误导了你的眼睛
解决方法:
1.先删除索引
mysql> show index from tableName; mysql> alter table tableName drop index FKxxxxxxxxxxxxxx;
2.再删除外键
mysql> show keys from tableName; mysql> alter table tableName drop foreign key FKxxxxxxxxxxxxxx;
假如不可,能够尝试 先删除外键,再删除索引,或许从新衔接数据库。
相干引荐:《MySQL教程》
以上就是mysql为何不让删外键?的细致内容,更多请关注ki4网别的相干文章!