Встречается на собеседованиях • сегодня
Какие знаешь особенности удаления данных, связанных через Foreign Key
При удалении данных с Foreign Key важно учитывать ограничения целостности. Основные варианты поведения:
- RESTRICT (по умолчанию) – запрещает удаление, если есть связанные записи.
sql
ALTER TABLE child_table ADD CONSTRAINT fk_name FOREIGN KEY (parent_id) REFERENCES parent_table(id) ON DELETE RESTRICT;
-
CASCADE – автоматически удаляет связанные записи.
sqlON DELETE CASCADE -
SET NULL – устанавливает NULL в FK-поле связанных записей (требует nullable-колонки).
sqlON DELETE SET NULL -
NO ACTION – аналогично RESTRICT, но проверка выполняется позже в транзакции.
В JPA/Hibernate можно настроить через аннотации:
java
@OneToMany(cascade = CascadeType.REMOVE) // для CASCADE
@ManyToOne(optional = true) // для SET NULLВажно: CASCADE может привести к неожиданному массовому удалению, а SET NULL требует корректной обработки NULL в логике приложения.

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