gpt4 book ai didi

php - 更新外键

转载 作者:行者123 更新时间:2023-11-30 22:24:54 25 4
gpt4 key购买 nike

我必须更新外键,但我不知 Prop 体是如何完成的。以下是我的表格:

CREATE TABLE `mydb`.`mannschaft` ( 
`mannschaftID` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(50) NOT NULL ,
`stufe` INT NOT NULL,
`trainer` INT NOT NULL,
PRIMARY KEY (`mannschaftID`),
FOREIGN KEY (`trainer`) REFERENCES `trainer`(`trainerID`),
FOREIGN KEY (`stufe`) REFERENCES `stufe`(`stufeID`)
) ENGINE = InnoDB CHARACTER SET latin1 COLLATE latin1_german1_ci;

CREATE TABLE `mydb`.`spieler` (
`spielerID` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(50) NOT NULL ,
`vorname` VARCHAR(50) NOT NULL ,
`jahrgang` VARCHAR(10) NOT NULL ,
`bemerkung` VARCHAR(300) NOT NULL,
`mannschaft` INT NOT NULL,
PRIMARY KEY (`spielerID`),
FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`)
) ENGINE = InnoDB CHARACTER SET latin1 COLLATE latin1_german1_ci;

如果我这样做:

SHOW CREATE table course;

我得到以下信息:

CREATE TABLE `spieler` (
`spielerID` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE latin1_german1_ci NOT NULL,
`vorname` varchar(50) COLLATE latin1_german1_ci NOT NULL,
`jahrgang` varchar(10) COLLATE latin1_german1_ci NOT NULL,
`bemerkung` varchar(300) COLLATE latin1_german1_ci NOT NULL,
`mannschaft` int(11) NOT NULL,
PRIMARY KEY (`spielerID`),
KEY `mannschaft` (`mannschaft`),
CONSTRAINT `spieler_ibfk_1` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`),
CONSTRAINT `spieler_ibfk_2` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`),
CONSTRAINT `spieler_ibfk_3` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`),
CONSTRAINT `spieler_ibfk_4` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`),
CONSTRAINT `spieler_ibfk_5` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`),
CONSTRAINT `spieler_ibfk_6` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`),
CONSTRAINT `spieler_ibfk_7` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci

我喜欢做这个sql:

    $sql = "UPDATE `spieler` SET `mannschaft` = '0' WHERE `spielerID` = '".$id."'";

但是我得到这个错误:

    Error deleting record: Cannot add or update a child row: a foreign key constraint fails (`mydb`.`spieler`, CONSTRAINT `spieler_ibfk_1` FOREIGN KEY (`mannschaft`) REFERENCES `mannschaft` (`mannschaftID`))

我想我必须删除 key ,然后更新字段,然后再创建它?我怎样才能做到这一点?谢谢

最佳答案

@BenjaminPaap 的评论为我解决了这个问题。

关于php - 更新外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551731/

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