Многократные Обновления в MySQL с Ограничениями Внешнего ключа - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь создать один запрос, который обновит несколько строк в таблице, используя метод, описанный здесь: Несколько обновлений в MySQL

По сути, я использую метод INSERT ... ON DUPLICATE KEY UPDATE, используя запрос типа

INSERT INTO table1 
(id, val1, val2) 
VALUES 
(0, 5, 5)...<etc.> 
ON DUPLICATE KEY 
    UPDATE id=VALUES(id), val1=VALUES(val1), val2=VALUES(val2)

Проблема в том, что на столбец id ссылаются как на внешний ключ из другой таблицы, поэтому при попытке выполнить этот запрос я получаю ошибку Cannot delete or update a parent row: a foreign key constraint fails.

Есть ли способ заставить метод INSERT DUPLICATE KEY UPDATE работать с этим ограничением внешнего ключа (я бы предпочел не отключать ограничение, даже временно), или я застрял, отправляя несколько запросов в мою базу данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...