Есть ли запрос, с помощью которого я могу обменять значения двух строк одним запросом?
Как обновить значения подкачки двух строк с одним запросом
Ответ 1
вы можете увидеть решение в этой статье
http://www.microshell.com/database/sql/swap-values-in-2-rows-sql/
Посмотрите на: Элегантный способ, сделайте соединение, чтобы получить данные из двух строк, которые нужно поменять местами в 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
;
Ответ 2
UPDATE my_table SET [email protected]:=a, a=b, [email protected];