Допустим, у нас есть таблица участников матчей participants с полями (id, match_id, position).
Необходимо поменять местами участников матча.
Для наглядности добавим в неё поле name, которое хранит исходное сочетание match_id-position
Уникальность установлена по полям match_id+position.
Запрос:
INSERT INTO participants (`id`, `position`, match_id)
VALUES (4, 0, 2), (3, 2, 2), (4, 1, 2)
ON DUPLICATE KEY UPDATE `position` = VALUES(`position`)
Результат:
Работает без снятия уникальности, одним запросом!