微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在杀死进程后删除 MySQL information_schema 中额外的错误 FK

如何解决在杀死进程后删除 MySQL information_schema 中额外的错误 FK

我正在向一个非常大的表 table_a 添加外键,但它花费的时间太长,所以我在 PHPMyAdmin 中终止了该进程

不幸的是,现在我有一个同名的“幽灵”外键,它出现在 information_schema.INNODB_SYS_FOREIGN

ID:        my_database/fk-table_a-table_b 
FOR_NAME:  my_database/#sql-11c0_736  // This appears to be an internal reference
REF_NAME:  my_database/table_b
N_COLS:    1
TYPE:      2

我无法从 table_a 或引用 #sql-11c0_736删除键,因为 MysqL 认为两者都不存在,当我尝试添加同名外键并禁用外键检查时,我得到

#1823 - Failed to add the foreign key constraint 'my_database/fk-table_a-table_b' to system tables

启用检查后我得到

#1005 - Can't create table `my_database`.`#sql-11c0_fd0` (errno: 121 "Duplicate key on write or update")

#sql 引用与之前的引用不同

我现在担心这个“幽灵”外键将来可能会导致引用的 table_b 中的数据出现问题,我真的很想避免在生产服务器上重新创建数据库并处理实时数据

有没有办法强行删除它?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。