можете да видите решението в тази статия
http://www.microshell.com/ база данни/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
;