在MySql中交换列值

时间:2015-04-24 21:57:53

标签: php mysql database

我正在尝试交换一些列值,并且无法弄清楚它是如何完成的。假设我有2行,一个ID为2,另一行ID为5.这两行都有一个名为" position"的列。

我想换掉#34;位置"从ID为2的行到"位置" ID为5的行。

因此,如果ID-2行的位置为34且ID-5行的位置为12

ID position
2    34
5    12

新值将是:

ID position
2    12
5    34

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您想一次性完成此操作,可以使用简单的UPDATE语句。 注意:如果您打算在此处复制代码,请将其完整复制,并且不要使用单引号字符引用您的表名或列名(这一个:')。

UPDATE `your_table` a 
INNER JOIN `your_table` b 
ON a.id = 2 AND b.id = 5

SET a.`position` = b.`position`, b.`position` = a.`position`