Sobes.tech
Junior — Middle
95

Leg uit hoe het mechanisme van ON DELETE SET NULL werkt in de context van relaties tussen database tabellen.

Bedrijven waar gevraagd werd
СБЕРСБЕР

Antwoord van AI

sobes.tech AI

ON DELETE SET NULL — это правило поведения внешнего ключа в базе данных при удалении связанной записи из родительской таблицы.

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

Это позволяет сохранить дочерние записи, но указывает, что связь с родительской записью теперь отсутствует.

Пример:

Таблица orders с внешним ключом customer_id, ссылающимся на таблицу customers:

ALTER TABLE orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES customers(id)
ON DELETE SET NULL;

Если удалить клиента из customers, то в orders.customer_id для связанных заказов будет записано NULL.

Это полезно, когда удаление родителя не должно приводить к удалению дочерних записей, но связь должна быть разорвана.