Я сам столкнулся с этой проблемой, связанной с сообщением об ошибке, полученным при заполнении поля внешнего ключа. Я попал на эту страницу в надежде найти ответ. Проверенный ответ на этой странице действительно правильный, к сожалению, я чувствую, что ответ немного неполон для людей, не знакомых с SQL. Я довольно хорошо умею писать код, но запросы SQL для меня новы, как и создание таблиц базы данных.
Несмотря на то, что проверенный ответ был правильным:
Майк М написал -
"FK работает так, что у него не может быть значения в этом столбце, который
не также в столбце первичного ключа ссылочной таблицы. "
Чего не хватает в этом ответе просто;
Сначала необходимо создать таблицу, содержащую первичный ключ.
Еще один способ сказать, что это так;
Вы должны вставить данные в родительскую таблицу, содержащую основной
Ключ, прежде чем пытаться вставить данные в дочернюю таблицу, содержащую
Внешний ключ.
Короче говоря, многие учебные пособия, похоже, не соответствуют этому факту, так что если вы попробуете самостоятельно и не поймете, что существует порядок операций, вы получите эту ошибку. Естественно, после добавления данных первичного ключа ваши данные внешнего ключа в дочерней таблице должны соответствовать полю первичного ключа в родительской таблице, в противном случае вы все равно получите эту ошибку.
Если кто-нибудь прочитает это далеко. Я надеюсь, что это помогло сделать проверенный ответ более ясным. Я знаю, что некоторые из вас могут чувствовать, что подобные вещи довольно просты и что открытие книги ответило бы на этот вопрос до того, как она была опубликована, но правда в том, что не все учатся одинаково. *