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

Что произойдет с записью, ссылающейся по внешнему ключу без указания ON DELETE, при удалении записи из таблицы

При удалении записи из родительской таблицы без указания ON DELETE, СУБД выдаст ошибку ограничения внешнего ключа (foreign key constraint violation), если существуют зависимые записи в дочерней таблице. Это стандартное поведение, эквивалентное явному указанию ON DELETE RESTRICT.

Пример:

sql
-- Родительская таблица
CREATE TABLE departments (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

-- Дочерняя таблица без ON DELETE
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    dept_id INT REFERENCES departments(id) -- неявный RESTRICT
);

-- Попытка удаления department с существующими employees вызовет ошибку
DELETE FROM departments WHERE id = 1; -- Ошибка, если есть employees с dept_id=1
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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