Ошибка внешних ключей в Yii 1.1.15

Я добавляю иностранные ключи в свое приложение. Там у меня есть таблицы для comments, games, films а также books, Когда я создаю комментарий для игр, я устанавливаю поле game_id на идентификатор текущей игры, но появляется эта ошибка:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`chooseone`.`tbl_comments`, CONSTRAINT `FK_books_comments` FOREIGN KEY (`book_id`) REFERENCES `tbl_books` (`id`) ON DELETE CASCADE ON UPDATE CASCADE). The SQL statement executed was: INSERT INTO `tbl_comments` (`content`, `game_id`, `author_id`, `created`, `updated`) VALUES (:yp0, :yp1, :yp2, :yp3, :yp4)

Я уже нахожу похожие посты и пытаюсь внести некоторые изменения (например, обмен INT(10) в таблице comments в INT(11) и т.д.), но ошибка все еще здесь. Кто-нибудь может мне помочь?

0

Решение

Сообщение об ошибке содержит всю информацию, необходимую для этой проблемы:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

Вышеуказанное указывает на то, что проблема связана с дочерней строкой (что обычно происходит при вставке).

CONSTRAINT `FK_books_comments` FOREIGN KEY (`book_id`)
REFERENCES `tbl_books` (`id`) ON DELETE CASCADE ON UPDATE CASCADE).

Выполненный оператор SQL был:

INSERT INTO `tbl_comments` (`content`, `game_id`, `author_id`, `created`, `updated`)
VALUES (:yp0, :yp1, :yp2, :yp3, :yp4)

Посмотрите на ограничение. Вы ДОЛЖНЫ иметь book_id в любых строках tbl_comments стол, и это book_id ДОЛЖЕН соответствовать id записи в tbl_books Таблица. Вы однако не включаете book_id в заявлении вставки.

Укажите book_id решить эту проблему.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]