MySQL, изменяющий таблицу с внешним ключом - PullRequest
0 голосов
/ 02 декабря 2018

Итак, я попытался сделать это несколькими способами.В основном мне даны следующие инструкции:

Использование базы данных блога (используйте однострочный или многострочный оператор SQL):

Написать SQL-оператор ALTER TABLEэто добавляет столбец post_id к таблице blog.comments.Этот новый столбец должен иметь тип данных INTEGER с макс.размер 3 цифры, НЕ ПОДПИСАНО, он должен быть НЕ ПУСТО (NULL), и он должен работать как FOREIGN KEY, который использует в качестве ссылки столбец id таблицы blog.posts.

У меня нет проблем с добавлениемколонка, это заставляет работать внешний ключ, что меня озадачивает.Я использовал следующий код:

ALTER TABLE blog.comments
ADD COLUMN post_id INT(3) UNSIGNED NOT NULL;

ALTER TABLE blog.comments
ADD FOREIGN KEY (post_id) REFERENCES posts(id);

И я продолжаю получать следующую ошибку при отправке:

ОШИБКА 1452 (23000): Невозможно добавить или обновить дочернюю строку:сбой ограничения внешнего ключа (b log. #sql-628_2a, CONSTRAINT #sql-628_2a_ibfk_1 ИНОСТРАННЫЙ КЛЮЧ (post_id) ССЫЛКИ posts (id))

Я пробовал несколько разных версийно я не могу заставить его работать.

...