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

MySQL 10:34:50错误代码:1452。无法添加或更新子行:外键约束失败,mysql,key,Mysql,Key,我已经看到了很多关于如何解决这个问题的例子“确保外键与主键的值匹配”。但这仍然不能解决我的问题 CREATE TABLE `order table`( OrderId INT PRIMARY KEY NOT NULL, `Product one` VARCHAR(60), `Product two` VARCHAR(60), `Product three` VARCHAR(60), CustomerId INT NOT NULL, FOREIGN KEY (CustomerId) REFEREN

我已经看到了很多关于如何解决这个问题的例子“确保外键与主键的值匹配”。但这仍然不能解决我的问题

CREATE TABLE `order table`(
OrderId INT PRIMARY KEY NOT NULL,
`Product one` VARCHAR(60),
`Product two` VARCHAR(60),
`Product three` VARCHAR(60),
CustomerId INT NOT NULL,
FOREIGN KEY (CustomerId) REFERENCES customers(CustomerId)
);

INSERT INTO `new_schema`.`order table`(
OrderId, `Product one`, `Product two`, `Product three`, CustomerId)
VALUES ('0', 'Ryzen 7 3700xt',' Power Supply', 'Stuff', 0);

是的,在我的customer表中,有一个int为0的customer id,就我而言,没有输入错误

如果您的表只有一个FK,并且错误告诉您FK约束失败,那么理解问题是什么似乎相对简单。尽管有相反的说法,但在<代码>客户>代码> >代码> CuuleID=0 不能存在,只有考虑其他区域的触发器可能执行额外的处理,导致FK问题,但是新代码“<表/代码>”是新生成的,这似乎不太可能,但它确实存在。创建客户表时,将主键插入为0没有问题。就在桌子上我刚弄明白问题出在哪里。在将数据添加到
客户
之前,我一直在
订单表
中寻找外键,即使客户是第一个表,数据也会在以后添加。我犯了个愚蠢的错误,谢谢你的帮助。很高兴听到问题解决了。在这种情况下,错误消息是正确的,并且客户在您运行代码时不存在