mysql 外键错误 #1452

标签 mysql

ALTER TABLE  `groups` ADD FOREIGN KEY (  `company_id` ) REFERENCES  `summaries`.`companies` (

`id`
) ON DELETE CASCADE ;

MySQL said: 

#1452 - Cannot add or update a child row: a foreign key constraint fails (`summaries/#sql-164a_33c`, CONSTRAINT `#sql-164a_33c_ibfk_1` FOREIGN KEY (`company_id`) REFERENCES `companies` (`id`) ON DELETE CASCADE) 

companies.idprimary auto increment int(11)

company_idindex int(11)

我不明白错误信息。任何人都可以阐明这一点吗?

最佳答案

这意味着子表中至少有一行引用了父表中不存在的行。

如果您完全确定您可以接受这样的数据完整性问题,则可以在运行 ALTER TABLE 命令之前通过禁用外键检查来添加外键:

SET FOREIGN_KEY_CHECKS = 0;

关于mysql 外键错误 #1452,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5198600/

相关文章:

mysql - dataAdapter.Fill(dataSet) 无明显原因停止执行

php - 字符编码问题?

mysql - 使用事务合并两个插入查询。但是我需要获取第一个插入的行 ID

MySQL SQL_NO_CACHE 不工作

mysql - 通过 SQL 从模板表中插入缺失的记录

MYSQL新手与子查询

php - Paypal 沙盒测试不起作用

MySQL InnoDB select for update 和 insert 之间出现死锁

mysql - 无法在jsf中编辑数据库表

python - SQLAlchemy( flask )中的外键在插入数据库之前发生变化?