gpt4 book ai didi

mysql - 抛出错误 1452,而父行存在

转载 作者:行者123 更新时间:2023-11-29 00:05:13 26 4
gpt4 key购买 nike

我在 INSERT 上收到 1452 错误(如下),但这没有意义。

表格:

# Has parent field
CREATE TABLE IF NOT EXISTS `price_comp_group` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`headline` VARCHAR(255) NOT NULL,
`text` TEXT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

# Has child field
CREATE TABLE IF NOT EXISTS `price_comp_group_drug` (
`group_id` INT(10) NOT NULL,
`drug_id` INT(10) UNSIGNED NOT NULL,
`item_order` INT(10) NOT NULL,
CONSTRAINT `fk_group_id_drug` FOREIGN KEY (`group_id`) REFERENCES `price_comp_group`(`id`)
ON DELETE CASCADE,
CONSTRAINT `fk_drug_id_drug` FOREIGN KEY (`drug_id`) REFERENCES `drug`(`ID`)
ON DELETE CASCADE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

# Unique index
ALTER TABLE `price_comp_group_drug`
ADD UNIQUE INDEX idx_group_drug
(`group_id`, `drug_id`);

现在,我正在尝试进行这样的多次插入:

INSERT INTO `price_comp_group_drug` (`group_id`, `drug_id`, `item_order`)
VALUES (1, 1, 1), (1, 2, 3), (0, 3, 6);

我明白了:

#1452 - 无法添加或更新子行:外键约束失败(dev23_dbprice_comp_group_drug,CONSTRAINT fk_group_id_drug外键 (group_id) REFERENCES price_comp_group (id) ON DELETE CASCADE)

  • 组 id = 1 存在
  • ID = 1、2、3 的药物存在

那么为什么我会看到这个错误?如果我尝试插入/更新具有 FOREIGN KEY 值且没有有父项的行,我应该会看到它...

最佳答案

在您提供的插入语句中,外键不能为零。

在插入语句中第三行'group_id'被指定为'0'。

由于 group_id 上有外键,因此会引发错误。

关于mysql - 抛出错误 1452,而父行存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27863054/

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