Как изменить поведение FOREIGN KEY

174
17 июля 2019, 07:20

Имеется таблица со вторичным ключом с поведением ON DELETE SET NULL.

CREATE TABLE `deltas`
(
    `deltaId` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT UNIQUE NOT NULL,
    `fwSourceId` INT UNSIGNED,
    ...
    FOREIGN KEY (fwSourceId) REFERENCES fws(fwId)
        ON UPDATE CASCADE
        ON DELETE SET NULL
) ENGINE = InnoDB;  

Теперь бизнес-логика немного меняется и надо сделать ON DELETE CASCADE.

Хотел просто дропнуть связь и создать новую с нужным поведением:

ALTER TABLE deltas DROP FOREIGN KEY fwSourceId;

отвечает 1091

Can't DROP 'fwSourceId'; check that column/key exists

Есть ли запрос, изменяющий поведение ON DELETE?

Answer 1

вы указали имя поля, на которое сделан внешний ключ, а нужно имя ключа

см его через information_scheema или, ёмнип, show create table deltas

READ ALSO
Не запускается видео на странице

Не запускается видео на странице

Появляются иконки видео (звук, дорожка воспроизведения, кнопка увеличения экрана и тд

164
Как распознать блоки в зависимости от текста?

Как распознать блоки в зависимости от текста?

Допустим есть следующий набор элементов:

115
Парсинг колонки таблицы

Парсинг колонки таблицы

Не подскажете, как спарсить колонку Bitcoinprice таблицы с сайта MYIPMS? Спарсить всю страницу могу, а вот как конкретную колонку таблицы не понимаю

132
Не ставится цвет на объект

Не ставится цвет на объект

Когда пишу вот такой код чтобы установить цвет устанавливается всегда белый

148