Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment mettre à jour les valeurs d'échange de deux lignes avec une seule requête

vous pouvez voir la solution dans cet article

http://www.microshell.com/ base de données/sql/swap-values-in-2-rows-sql/

regardez le :La manière élégante , faites une jointure pour obtenir les données des 2 lignes à échanger en 1 ligne, après cela, faire une mise à jour est facile.

exemple :

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
;