Встречается на собеседованиях • сегодня
По умолчанию ли удаляется запись из таблицы с Foreign Key при удалении связанного id из родительской таблицы
Нет, по умолчанию запись не удаляется. При попытке удалить запись из родительской таблицы, на которую ссылается внешний ключ, будет выброшено исключение ConstraintViolationException.
Чтобы изменить поведение, нужно явно указать ON DELETE правило при создании внешнего ключа:
sql
CREATE TABLE child_table (
id INT PRIMARY KEY,
parent_id INT,
FOREIGN KEY (parent_id)
REFERENCES parent_table(id)
ON DELETE CASCADE -- или SET NULL, NO ACTION (по умолчанию)
);Варианты поведения:
CASCADE- автоматически удаляет дочерние записиSET NULL- устанавливает NULL в поле внешнего ключаNO ACTION/RESTRICT- запрещает удаление (по умолчанию)

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