位置: 编程技术 - 正文
推荐整理分享mysql 实现互换表中两列数据方法简单实例(mysql转移表数据表),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql切换数据库sql语句,mysql交换表名,mysql替换表,mysql切换数据库sql语句,mysql交换表名,mysql交换表名,mysql替换表,mysql交换表名,内容如对您有帮助,希望把文章链接给更多的朋友!
由于最近项目,有这样一个需求,是把数据库中的两列数据互换,经过好久才搞定,这里写个简单实例,做过记录。
1.创建表及记录用于测试
2.互换original_price与price的值
新手可能会使用以下方法进行互换
update product set original_price=price,price=original_price;
但这样执行的结果只会使original_price与price的值都是price的值,因为update有顺序的,
先执行original_price=price , original_price的值已经更新为price,
然后执行price=original_price,这里相当于没有更新。
执行结果:
正确的互换方法如下:
update product as a, product as b set a.original_price=b.price, a.price=b.original_price where a.id=b.id;
执行结果:
mysql> select * from product;+----+--------+----------------+--------+| id | name | original_price | price |+----+--------+----------------+--------+| 1 | 雪糕 | 5. | 3. || 2 | 鲜花 | . | . || 3 | 甜点 | . | . || 4 | 玩具 | . | . || 5 | 钱包 | . | . |+----+--------+----------------+--------+5 rows in set (0. sec)
mysql> update product as a, product as b set a.original_price=b.price, a.price=b.original_price where a.id=b.id;Query OK, 5 rows affected (0. sec)Rows matched: 5 Changed: 5 Warnings: 0
mysql> select * from product;+----+--------+----------------+--------+| id | name | original_price | price |+----+--------+----------------+--------+| 1 | 雪糕 | 3. | 5. || 2 | 鲜花 | . | . || 3 | 甜点 | . | . || 4 | 玩具 | . | . || 5 | 钱包 | . | . |+----+--------+----------------+--------+5 rows in set (0. sec)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
mysql数据库迁移至Oracle数据库 本文实例为大家分享了java获取不同路径的方法,供大家参考,具体内容如下1.使用工具:(1)NavicatPremium(2)PL/SQLDeveloper.0(3)OracleSQLDeveloper4.0.0..(点击可进
微信公众平台开发 数据库操作 一、简介前面讲解的功能开发都是简单的调用API完成的,没有对数据库进行操作。在接下来的高级功能开发中,需要使用到数据库,所以在这一篇中,
MySQL redo死锁问题排查及解决过程分析 问题背景周一上班,首先向同事了解了一下上周的测试情况,被告知在多实例场景下MySQLServerhang住,无法测试下去,原生版本不存在这个问题,而新版
标签: mysql转移表数据表
本文链接地址:https://www.jiuchutong.com/biancheng/348935.html 转载请保留说明!友情链接: 武汉网站建设