Может ли внешний ключ быть нулевым Postgres?
Может ли внешний ключ быть нулевым Postgres?

Видео: Может ли внешний ключ быть нулевым Postgres?

Видео: Может ли внешний ключ быть нулевым Postgres?
Видео: 11 - Внешние ключи (Foreign Keys) - Уроки PostgreSQL 2024, Ноябрь
Anonim

ВСТАВИТЬ В ЗНАЧЕНИЯ продукта (11, 'для Джо', 1); ВСТАВИТЬ В ЗНАЧЕНИЯ продукта (22, 'для всех', НУЛЕВОЙ ); Совершенно законно иметь значение NULL внешний ключ столбец.

Также вопрос в том, может ли внешний ключ быть нулевым?

А внешний ключ делает свою таблицу зависимой от другой таблицы, называемой родительской таблицей. А внешний ключ содержащий нулевой значения не могут совпадать со значениями родительского ключ , поскольку родитель ключ по определению жестяная банка не иметь нулевой ценности. Однако пустой внешний ключ значение всегда действительно, независимо от значения любого из его не- нулевой части.

Кроме того, как добавить внешний ключ в PostgreSQL? ДОБАВИТЬ CONSTRAINT имя_ограничения ВНЕШНИЙ КЛЮЧ (c1) ССЫЛКИ parent_table (p1); Последнее замечание, когда вы хотите добавить внешний ключ ограничение с ON DELETE CASCADE в существующую таблицу, вам необходимо выполнить следующие шаги: Отбросить существующий внешний ключ ограничение. Добавлять новый внешний ключ ограничение с действием ON DELETE CASCADE.

Тогда может ли внешний ключ быть нулевым mysql?

5 ответов. NULL в внешние ключи вполне приемлемы. Работа с NULL в внешние ключи сложно, но это не значит, что вы меняете такие столбцы на НЕ НУЛЕВОЙ и вставьте фиктивные («N / A», «Unknown», «No Value» и т. д.) записи в свои справочные таблицы.

Требуются ли внешние ключи?

Поскольку цель иностранный ключ заключается в том, чтобы идентифицировать конкретную строку ссылочной таблицы, обычно это требуется что иностранный ключ равен кандидату ключ в некоторая строка первичной таблицы, иначе не имеет значения (значение NULL). Это правило называется ограничением ссылочной целостности между двумя таблицами.

Рекомендуемые: