gpt4 book ai didi

mysql - 添加到数据库时违反完整性约束

转载 作者:行者123 更新时间:2023-11-28 23:13:55 34 4
gpt4 key购买 nike

当我使用 PHP 和 Ajax 表单向 mysql 添加数据时出现以下错误:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (ncd.patient_med_history, CONSTRAINT fk_patient_medication_patient1 FOREIGN KEY (patient_id) REFERENCES patient (patient_id) ON DELETE CASCADE ON UPDATE CASCADE)

这是两个表:

CREATE TABLE IF NOT EXISTS `ncd`.`patient` (
`patient_id` VARCHAR(45) NOT NULL,
`patient_name_en` VARCHAR(55) CHARACTER SET 'utf8mb4' COLLATE
`patient_status` VARCHAR(15) NULL,
PRIMARY KEY (`patient_id`),
INDEX `fk_patient_clinic1_idx` (`clinic_id` ASC),
CONSTRAINT `fk_patient_clinic1`
FOREIGN KEY (`clinic_id`)
REFERENCES `ncd`.`clinic` (`clinic_id`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;

这里是外键所在的另一个表:

CREATE TABLE IF NOT EXISTS `ncd`.`patient_med_history` (
`patient_medication_id` INT NOT NULL AUTO_INCREMENT,
`patient_medication` VARCHAR(55) NULL,
`disease` VARCHAR(80) NULL,
`patient_id` VARCHAR(45) NOT NULL,
`clinic_id` VARCHAR(45) NULL,
PRIMARY KEY (`patient_medication_id`),
INDEX `fk_patient_medication_patient1_idx` (`patient_id` ASC),
CONSTRAINT `fk_patient_medication_patient1`
FOREIGN KEY (`patient_id`)
REFERENCES `ncd`.`patient` (`patient_id`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;

附言

一些如何添加 3 行,之后,我遇到了这个错误,不再添加任何行

最佳答案

Integrity Constraint 错误发生时,意味着您有一个表,该表的字段对另一个表具有 FK ,因此您试图在其中添加一个值此字段在另一个表中不存在。

当您改为删除时,如果您不先从父项中删除,则无法从具有 FK 的子项中删除。

关于mysql - 添加到数据库时违反完整性约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44719579/

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