Я пытаюсь вставить этот код в моей таблицу альбомов на моей базе данных 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
Как исправить это? Мне нужно ввести данные в таблицу.
Добавили ли вы художника «Queen» на стол художника? Потому что, если нет, вы должны добавить художника сначала, иначе ваш FK всегда будет нарушен. –
Кроме того, ArtistId - это номер, и вы пытаетесь добавить туда VARCHAR. Вы должны добавить художника «Queen» на исполнителя стола и получить ArtistId для использования в этой вставке. –