- 此问题在此处已有答案**:
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",但不起作用。
1条答案
按热度按时间brgchamk1#
创建表
curso.publicaciones
时,您将列autor_id
定义为指向curso.usuarios
的外键。这意味着表curso.usuarios
中应该存在一行,其中id
与您尝试插入的autor_id
相同。请确保curso.usuarios
中存在ID为“1”的行。