У меня запутанная проблема. Я использую 5.6.12 Community Version.MySQL: INSERT INTO ... ON DUPLICATE KEY UPDATE не запускает ПОСЛЕ ОБНОВЛЕНИЯ Триггер
У меня есть ПОСЛЕ UPDATE Trigger, что работает правильно, когда таблица вызывается, например
UPDATE test_table SET TestVariable = 2 WHERE TestIndex = 2;
Но когда я использую
INSERT INTO test_table (TestIndex,TestVariable) VALUES (2,3) ON DUPLICATE KEY UPDATE TestVariable = 3;
Update-триггер не «срабатывает ».
Это, конечно, сильно упрощенное дело и не имеет ничего общего с моим текущим кодом. Я не нашел много информации об этом. На мой взгляд, UPDATE на DUPLICTE KEY является внутренним нормальным UPDATE и должен вызывать мой триггер.
Кто-нибудь сделал подобные наблюдения или может объяснить мне, почему MySQL ведет себя таким образом или уверяет меня, что у меня должна быть некоторая ошибка в моей установке, потому что она должна работать?
Я НЕ нужен ответ с предложением, что я не должен использовать INSERT INTO ... ON DUPLICTE KEY ..., потому что а) это еще не вопрос и б) я не могу легко модифицировать бизнес-приложения Я сейчас работаю.
Спасибо большое за помощь
он предположил бы (Mihai), что часть обновления не удалась на IODKU. Поэтому вместо того, чтобы обвинять триггер обновления, сосредоточьтесь на ошибке IODKU или потенциальном сбое. Значение вашего обновления никогда не происходило, а скорее нежелательные вставки. – Drew
Итак, сначала вы фокусируетесь на неправильном, так как вы не показали, что IODKU работает даже на основе уникального ключевого столкновения. – Drew
Извините, я забыл эту часть. UPDATE имеет место. Это не проблема. Но вы согласитесь, что это должно срабатывать? – TurmDrummer