Встречается на собеседованиях • сегодня

По умолчанию ли удаляется запись из таблицы с 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 - запрещает удаление (по умолчанию)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы