bigton
@bigton
Web-программист

В каких случаях происходит проверка внешних ключей?

Всем привет!

Допустим такая таблица
CREATE TABLE `table` (
    `id` smallint(5) unsigned NOT NULL DEFAULT 0,
    `f_1` tinyint(3) unsigned NOT NULL DEFAULT 0,
    `f_2` tinyint(3) unsigned NOT NULL DEFAULT 0,
    `val_1` tinyint(3) unsigned NOT NULL DEFAULT 0,
    `val_2` tinyint(3) unsigned NOT NULL DEFAULT 0,
    UNIQUE KEY `id` (`id`),
    KEY `f_1` (`f_1`),
    KEY `f_2` (`f_2`),
    CONSTRAINT `c1` FOREIGN KEY (`f_1`) REFERENCES `table_2` (`id`),
    CONSTRAINT `c2` FOREIGN KEY (`f_2`) REFERENCES `table_3` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT

Вопрос: будет ли при следующем запросе происходит проверка внешних ключей?
UDPATE `table` SET `val_1` = 1 WHERE `id` = 2

Спасибо за ответы!
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не будет, поскольку поля `f_1` и `f_2` не изменяются.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы