首页 > 解决方案 > 在不使用第三个变量或表的情况下交换表中两列的值

问题描述

在不使用第三个变量或表的情况下交换表中两列的值

id name lastname
1  ab    cd
2  df    cx
3  sd    gh

我想交换两列

id name lastname
1  cd    ab
2  cx    df
3  gh    sd

标签: sql

解决方案


在几乎任何数据库中,您都可以执行以下操作:

update t
    set name = lastname,
        lastname = name;

第一个分配不影响第二个分配是标准行为。唯一不起作用的数据库——据我所知——是 MySQL。


推荐阅读