Встречается на собеседованиях • сегодня
Какие знаешь способы удаления записей с Foreign Key
В SQL есть несколько способов удаления записей с Foreign Key:
- CASCADE - автоматическое удаление зависимых записей
sql
ALTER TABLE child_table
ADD CONSTRAINT fk_name
FOREIGN KEY (parent_id)
REFERENCES parent_table(id)
ON DELETE CASCADE;- SET NULL - установка NULL в FK поле зависимых записей
sql
ALTER TABLE child_table
ADD CONSTRAINT fk_name
FOREIGN KEY (parent_id)
REFERENCES parent_table(id)
ON DELETE SET NULL;- SET DEFAULT - установка значения по умолчанию
sql
ALTER TABLE child_table
ADD CONSTRAINT fk_name
FOREIGN KEY (parent_id)
REFERENCES parent_table(id)
ON DELETE SET DEFAULT;-
RESTRICT/NO ACTION - запрет удаления (по умолчанию)
-
Вручную через транзакцию:
sql
BEGIN;
DELETE FROM child_table WHERE parent_id = 1;
DELETE FROM parent_table WHERE id = 1;
COMMIT;Выбор зависит от бизнес-логики приложения. CASCADE удобен, но опасен потерей данных. SET NULL требует nullable поля. Ручное удаление дает полный контроль.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы