puedes ver la solución en este artículo
http://www.microshell.com/ base de datos/sql/intercambiar-valores-en-2-filas-sql/
mira:La manera elegante , haga una combinación para obtener los datos de las 2 filas que se intercambiarán en 1 fila, después de eso, hacer una actualización es fácil.
ejemplo :
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
;