我丢了一张表,但INNODB_SYS_FOREIGN和INNODB_SYS_FOREIGN_COLS表中留下了外来约束的记录......
表名procesos
INNODB_SYS_FOREIGN_COLS
的记录是
ID|FOR_COL_NAME|REF_COL_NAME|POS
DBname/fk_procesos_hv1|id_hv|id_hv
INNODB_SYS_FOREIGN
的记录是
ID|FOR_NAME|REF_NAME|N_COLS|TYPE
数据库名称/fk_procesos_hv1|DBname/procesos|DBname/hv|1|48
我创建了一个名为procesos2
的第二个表,但是当我尝试重命名为procesos
时,我收到此消息"errno:150"外键约束格式不正确",因此,如何删除 DROP 表procesos
的外部约束?
首先禁用外键约束
SET @@FOREIGN_KEY_CHECKS = 0
将表重命名为 procesos,然后删除约束。
之后再次启用约束
SET @@FOREIGN_KEY_CHECKS = 1
如果表过程也设置了索引,您应该检查,这也应该删除。