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

Что произойдет при удалении поля, связанного с другими таблицами

При удалении поля, связанного внешними ключами с другими таблицами, поведение зависит от настроек ограничений (constraints):

  1. Если установлен ON DELETE CASCADE - связанные записи в других таблицах будут автоматически удалены
  2. Если ON DELETE SET NULL - внешние ключи будут установлены в NULL (поле должно допускать NULL)
  3. Если ON DELETE RESTRICT или не указано (по умолчанию) - операция удаления завершится ошибкой

Пример с ON DELETE CASCADE:

sql
CREATE TABLE orders (
    id INT PRIMARY KEY,
    customer_id INT,
    FOREIGN KEY (customer_id) 
        REFERENCES customers(id)
        ON DELETE CASCADE
);

В Java приложении при попытке удаления без каскада получите SQLIntegrityConstraintViolationException. Рекомендуется сначала удалять/обновлять зависимые записи или использовать каскадное удаление.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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