#1215-Cannot add foreign key constraint 外键约束错误

#1215-Cannot add foreign key constraint 外键约束错误

涟漪小筑
2024-09-06 / 0 评论 / 118 阅读 / 正在检测是否收录...

m5oq0i4i.png


1. 检查当前表是否有外键约束

SHOW CREATE TABLE `standard`;

2. 检查外键约束的引用表
有时即使没有直接引用 standard 表的外键,仍可能有其他表的外键指向与 standard 表关联的列。你可以检查 standard 表中所有列的外键引用情况,尤其是那些可能作为外键引用的列。
使用以下查询检查所有外键关联的列:

SELECT
  TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_NAME = 'standard';

查询结果:

TABLE_NAMECOLUMN_NAMECONSTRAINT_NAME
ds_adjustment_model_relationshipm_idFK_ST

这表明 ds_adjustment_model_relationship 表的 m_id 列存在一个外键约束 FK_ST,该外键约束引用了 standard 表的某个列(很可能是 standard 表的主键或唯一索引列)。

3. 删除外键约束

ALTER TABLE `ds_adjustment_model_relationship` DROP FOREIGN KEY `FK_ST`;

4. 重新创建外键约束
在 ds_adjustment_model_relationship 表中重新创建外键约束,并更新约束中引用的表名。

ALTER TABLE `ds_adjustment_model_relationship`
ADD CONSTRAINT `FK_ST`
FOREIGN KEY (`m_id`) REFERENCES `ds_standard`(`referenced_column_name`)
ON DELETE CASCADE;


0

评论 (0)

取消