możesz zobaczyć rozwiązanie w tym artykule
http://www.microshell.com/ baza danych/sql/zamień-wartości-w-2-wierszach-sql/
spójrz na:Elegancki sposób , wykonaj sprzężenie, aby uzyskać dane z 2 wierszy, które mają zostać zamienione w jednym wierszu, po czym dokonanie aktualizacji jest łatwe.
przykład :
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
;