Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como atualizar valores de troca de duas linhas com consulta única


você pode ver a solução neste artigo

http://www.microshell.com/ database/sql/swap-values-in-2-rows-sql/

veja:A maneira elegante , faça uma junção para obter os dados das 2 linhas para serem trocados em 1 linha, depois disso é fácil fazer uma atualização.

exemplo :
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
;