この記事で解決策を見ることができます
http://www.microshell.com/ database / sql / swap-values-in-2-rows-sql /
を見てください:エレガントな方法 、結合して2行のデータを取得し、1行に交換します。その後、更新を簡単に行うことができます。
例:
UPDATE
rules AS rule1
JOIN rules AS rule2 ON
( rule1.rule_id = 1 AND rule2.rule_id = 4 )
SET
rule1.priority = rule2.priority,
rule2.priority = rule1.priority
;