我试图插入此代码到我的相册表上我的MySQL数据库不能将值插入表,外键约束不断失败
INSERT INTO `Albums` (`Albumid`, `Name`, `Numberoftracks`, `Artistid`, ]
`Genre`) VALUES (1, "Innuendo", 12, "Queen", "Rock");
但每次我尝试时候,我不断收到此错误。
1452 - Cannot add or update a child row: a foreign key constraint fails
(`b4014107_db1/Albums`, CONSTRAINT `Albums_ibfk_1` FOREIGN KEY (`Artistid`)
REFERENCES `Artist` (`Artistid`))
我知道这件事情做的表内我的外键,但我需要手动输入外键,因为它不是自动递增。
这是表代码。
CREATE TABLE `Albums` ( `Albumid` int(6) NOT NULL, `Name` varchar(50) NOT
NULL, `Numberoftracks` int(11) NOT NULL, `Artistid` int(6) NOT NULL,
`Genre` varchar(50) NOT NULL, PRIMARY KEY (`Albumid`), KEY `Artistid`
(`Artistid`), CONSTRAINT `Albums_ibfk_1` FOREIGN KEY (`Artistid`)
REFERENCES `Artist` (`Artistid`)) ENGINE=InnoDB DEFAULT CHARSET=latin1
我该如何解决这个问题?我需要将数据输入到表格中。
您是否在艺术家的桌子上添加了艺术家“女王”?因为如果没有,你应该先添加艺术家,否则你的FK将会被违反。 –
另外,ArtistId是一个数字,您正尝试在其中添加VARCHAR。您应该将艺术家'女王'添加到表格艺术家,并获取ArtistId以用于插入您的艺术家。 –