gpt4 book ai didi

Mysql:错误代码:1452。无法添加或更新子行:外键约束失败

转载 作者:行者123 更新时间:2023-11-29 05:09:39 25 4
gpt4 key购买 nike

我有这张表:

CREATE TABLE comments(
comment_id int(11) NOT NULL auto_increment,
user_id int(11) NOT NULL,
product_id int(11) NOT NULL,
comment_text varchar(1000) COLLATE utf8_czech_ci NOT NULL,
uploaded datetime NOT NULL,
primary key(comment_id),
constraint fk_user_comments foreign key(user_id) references user(user_id) ON UPDATE CASCADE ON DELETE CASCADE,
constraint fk_product_comments foreign key(product_id) references product(product_id) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

我正在尝试将数据插入到该表中。

INSERT INTO comments(user_id,product_id,comment_text,uploaded) VALUES(1,'brbr',1,Now());

但出于某种原因,我不断收到此错误:

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`project`.`comments`, CONSTRAINT `fk_product_comments` FOREIGN KEY (`product_id`) REFERENCES `product` (`product_id`) ON DELETE CASCADE ON UPDATE CASCADE)

id 为 1 的用户存在并且 id 为 1 的产品存在,所以现在我不知道是什么导致了问题。

最佳答案

您的列列表顺序困惑了。您正在尝试插入一行,其 product_id'brbr'(MySQL 将其视为 0)且注释文本为 1( MySQL 将其转换为 '1')。

重新排序列列表以匹配值(反之亦然)应该可以解决它:

INSERT INTO comments
(user_id, product_id, comment_text, uploaded)
VALUES (1, 1, 'brbr', NOW());
-- Here ---^

关于Mysql:错误代码:1452。无法添加或更新子行:外键约束失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41650757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com