mysql - 在 MySQL 中,如何从不存在的表中删除不存在的外键?

标签 mysql foreign-keys

我试图重命名 InnoDB 表中的主键,但一直收到 Errno 150。SHOW INNODB STATUS 显示:

LATEST FOREIGN KEY ERROR
130711 18:22:53 Error in foreign key constraint of table xx/client_location_business_load:
there is no index in referenced table which would contain
the columns as the first columns, or the data types in the
referenced table do not match the ones in table. Constraint:
,
  CONSTRAINT "business_load_business_load_name_key" FOREIGN KEY ("name_id") REFERENCES "client_businesstype_load_name" ("name_id") ON DELETE CASCADE ON UPDATE CASCADE

client_location_business_load甚至不存在!它被重新命名了。名为 business_load_business_load_name_key 的约束也不存在,它已被删除,并且不会出现在 information_schema.key_column_usage 中。

有人知道这里发生了什么吗?

最佳答案

您必须删除数据库并以相同的排序规则重新创建它。似乎没有其他选择。

关于mysql - 在 MySQL 中,如何从不存在的表中删除不存在的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17605232/

相关文章:

php - 如何在 PHP 中优化这些 MySQL 请求?

php - 创建 SQL 语句通过比较一行中的两个字段来查询 MySQL 数据库

java - Hibernate - 当在另一个类中进行自引用时处理添加(插入)

sql - Oracle 中的外键创建问题

tsql - 获取具有唯一外键的表之间关系的表名

php - 实时 MySQL 数据库接受 'CURRENT_TIMESTAMP"作为日期时间值 - 本地不接受

php - 如何使用按字段排序以及按 id 排序

PHP 服务器循环

sql - 使用表名、字段名和模式名查找引用的表名

mysql - 字段 "subject_name"没有默认值