Mysql两列值互换

如图,表中有两列值,现在要把两列的值做交换,怎么写SQL?

第一印象:扩展出来一列:cc,然后将bc值给cc。然后ac再更新给bc;然后cc更新到ac;然后删除cc列。

如此一来,太麻烦了。

那么一条SQL怎么改呢?update tb set ac=bc,bc=ac .这样?你会发现两值变成了一样的,失败!!!为啥呢?

如下,执行ac=bc,第一条ba值更新给了ac,此时ac和bc的值是一样的,都是bc的值。然后你又把更新后的ac值(还是bc的值)更新给了bc。所以更新失败。

那用一条SQL怎么写呢?

UPDATE tb t1, tb t2  set t1.ac=t1.bc,t2.bc=t2.ac;

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值