问题描述
我正在向一个非常大的表 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 (将#修改为@)