как обновить значения подкачки двух строк одним запросом

Есть ли запрос, с помощью которого я могу обменять значения двух строк одним запросом?


person Santosh Linkha    schedule 23.12.2010    source источник


Ответы (2)


вы можете увидеть решение в этой статье

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

посмотрите на: Элегантный способ, сделайте соединение, чтобы получить данные из 2 строк, которые будут заменены местами в 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
;
person Haim Evgi    schedule 23.12.2010
comment
Что делать, если вы хотите поменять местами последние 2 строки? - person Alucard; 21.07.2014

person    schedule
comment
Ваше решение для замены двух столбцов, вопрос был о замене двух строк. - person redux; 05.12.2014
comment
Я искал, как поменять местами два столбца, отличное решение :) - person TMMDev; 03.09.2015
comment
это полезно и просто. - person ; 23.01.2017