如何解决MySQL错误1452,“无法添加或更新子行;外键冲突失败'?[duplicate]

fdbelqdn  于 2023-02-21  发布在  Mysql
关注(0)|答案(1)|浏览(208)
    • 此问题在此处已有答案**:

ERROR 1452: Cannot add or update a child row: a foreign key constraint fails(27个答案)
8天前关闭。
我在名为"curso"的数据库中创建了一个名为"publicaciones"的表。此表的外键列引用了另一个名为"usuarios"的表的id列。当我尝试向"publicaciones"表中插入行时,收到错误代码1452,显示"无法添加或更新子行;外键冲突失败"。
TABLE出版物

CREATE TABLE curso.publicaciones (
    id int(11) NOT NULL AUTO_INCREMENT,
    autor_id int(11) NOT NULL,
    titulo varchar(150) NOT NULL,
    texto text NOT NULL,
    PRIMARY KEY(id),
    FOREIGN KEY (autor_id) REFERENCES curso.usuarios(id) ON DELETE CASCADE
);

插入查询

INSERT INTO curso.publicaciones (
    autor_id,
    titulo,
    texto
) VALUES (
    '1',
    'Clean Code',
    'You should be a clean coder. Thanks.'
);

我尝试添加约束"ON DELETE CASCADE",但不起作用。

brgchamk

brgchamk1#

创建表curso.publicaciones时,您将列autor_id定义为指向curso.usuarios的外键。这意味着表curso.usuarios中应该存在一行,其中id与您尝试插入的autor_id相同。请确保curso.usuarios中存在ID为“1”的行。

相关问题