gpt4 book ai didi

mysql - 我无法将值插入 MySQL 上的表中

转载 作者:行者123 更新时间:2023-11-29 07:21:06 24 4
gpt4 key购买 nike

我正在尝试将这些值插入到 MySQL 数据库中的一个表的 Artist_Name 列中

INSERT INTO tbl_Artist (Artist_Name)VALUES ('Taylor Swift');
INSERT INTO tbl_Artist (Artist_Name)VALUES ('Elton John');
INSERT INTO tbl_Artist (Artist_Name)VALUES ('Kanye West');
INSERT INTO tbl_Artist (Artist_Name) VALUES ('Fallout Boy');

但每当我尝试时,我总是收到此错误!

#1452 - Cannot add or update a child row: a foreign key constraint fails
(`b4014107_db2/tbl_Artist`, CONSTRAINT `tbl_Artist_ibfk_1` FOREIGN KEY
(`Artist_id`) REFERENCES `tbl_Artist` (`Artist_id`)

我假设这与我分配到表本身的 Artist_id 列上的外键有关。我只是不确定问题是什么以及如何纠正。

如果有帮助的话,我可以为您提供该表的完整代码。

CREATE TABLE `tbl_Artist` (  `Artist_id` int(11) NOT NULL auto_increment,    
`Artist_Name` varchar(32) NOT NULL,  PRIMARY KEY  (`Artist_id`),  CONSTRAINT
`tbl_Artist_ibfk_1` FOREIGN KEY (`Artist_id`) REFERENCES `tbl_Artist`
(`Artist_id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

任何帮助将不胜感激。

最佳答案

这是您的表定义:

CREATE TABLE `tbl_Artist` (
`Artist_id` int(11) NOT NULL auto_increment,
`Artist_Name` varchar(32) NOT NULL,
PRIMARY KEY (`Artist_id`),
CONSTRAINT `tbl_Artist_ibfk_1` FOREIGN KEY (`Artist_id`) REFERENCES `tbl_Artist` (`Artist_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

这实际上有点有趣。您在主键上有一个外键引用返回到表本身的主键。因此,您永远无法插入行,因为您需要引用行。

无论如何,主键不应该是返回其自身的外键。因此,只需删除约束即可:

CREATE TABLE `tbl_Artist` (
`Artist_id` int(11) NOT NULL auto_increment,
`Artist_Name` varchar(32) NOT NULL,
PRIMARY KEY (`Artist_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

关于mysql - 我无法将值插入 MySQL 上的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130228/

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