mysql - 由于违反完整性约束而无法添加字段 : 1452 Cannot add or update a child row

标签 mysql foreign-keys

我已经在类别表和新闻表之间创建了关系。我在新闻表中插入的 new_category 的 id 确实存在于表类别中,两列的字符类型相同,但我仍然收到以下问题:

2018-12-28 06:32:49 AM, Insert Query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (demo.news, CONSTRAINT fk_news FOREIGN KEY (news_category) REFERENCES categories (id) ON DELETE SET NULL ON UPDATE CASCADE).

最佳答案

确保您没有将子表中的列声明为 NOT NULL。

这可能是由于以下原因之一造成的

  1. FOREIGN KEY 值在表中必须是唯一的。
  2. 整数类型的大小和符号必须相同。
  3. 子表中的外键值应在父表中具有匹配的候选键值。
  4. 父表和子表之间的正确级联
  5. 子表中的列为 NOT NULL。

引用:

https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html

关于mysql - 由于违反完整性约束而无法添加字段 : 1452 Cannot add or update a child row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53954133/

相关文章:

mysql - 子查询中的 COUNT(*) 返回每一行,而不仅仅是特定于 ID 的行

php - 不能将类型的对象用作数组

mysql - SQL表设计

mysql - 在 MySQL 中连接一个新的标识符

Mysql JOIN/SUM 查询

php - 如何合并 MySQL 表中的两条冗余记录,维护所有 PK/FK 关系?

php - MySql 内部连接,错误 #1066

mysql - 存储/构建 mysql 世界国家、州、地区、城市的最佳方式......?

MySQL - 添加约束和外键

MySQL 错误 1215 (HY000) : Cannot add foreign key constraint