一尘不染

如何使用单个查询更新两行的交换值

mysql

是否有一个查询,我可以用一个查询交换两行的值?


阅读 256

收藏
2020-05-17

共1个答案

一尘不染

您可以在本文中看到解决方案

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
;
2020-05-17