Mysql用一条update语句交换两列的值

本文介绍了一种在不修改列名的情况下,使用SQL语句交换表中两列值的有效方法。通过引入一个废弃字段作为中间变量,实现了pic3、author和press三列值的正确交换,同时提供了带条件的交换示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景: 数据从外部导入,发现其中两列的值位置错位了。不能修改列名。使用sql语句交换两列的值。

错误的方法:百度了下,网上的基本上都是  UPDATE table SET a = b, b = a; 

使用后发现并没有什么卵用,然后就想着改造sql语句,正好表中有个字段暂时没有用,废弃的,就拿来做中间变量使用

解决办法:

1. 

UPDATE  table  SET pic3 = author, author = press, press = pic3, pic3 = NULL

这样就轻松 把两列的值交换过来了。(这里是把整张表的指定列名的两列值交互了)

2、可以带上条件这样可以指定某一条数据进行交互

UPDATE table  
SET pic3 = author, author = press, press = pic3, pic3 = NULL 

WHERE id = 24 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi,all

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值