Нет, внешние ключи так не работают.
Внешние ключи используются для связывания двух таблиц через ключ. В одной таблице у вас есть PRIMARY KEY
и все атрибуты, относящиеся к этой сущности.
В другой таблице у вас есть FOREIGN KEY
, который сообщает базе данных "эй, пользователь, вы можете вставить сюда значение, только если оно также существует как PRIMARY KEY
в моей справочной таблице" .
Вы, пользователь, по-прежнему должны выбирать, хотите ли вы INSERT
строку в вашей внешней таблице или нет.
Если вам нужно, чтобы во внешней таблице всегда была строка, ссылающаяся на соответствующий в первичной таблице, вы можете преобразовать эту таблицу в дополнительные столбцы, поскольку они являются атрибутами одной и той же сущности. Есть исключения из этого , но подробности только добавят вашей путаницы.