mysql互换表中两列数据方法讲义

  

1。创建表及记录用于测试

创建表“产品”(“id”int(10)无符号NOT NULL AUTO_INCREMENT评论& # 39;产品id # 39;,“名字”varchar (50) NOT NULL评论& # 39;产品名称& # 39;,original_price的小数(5,2)无符号NOT NULL评论& # 39;原价& # 39;,“价格”十进制(5,2)无符号NOT NULL评论& # 39;现价& # 39;,主键(“id”)   )引擎=InnoDB默认字符集=utf8;插入“产品”(“id”、“名称”,“original_price”,“价格”)值(NULL, & # 39;雪糕& # 39;,& # 39;5 & # 39;,& # 39;3.5 & # 39;),   (NULL, & # 39;鲜花& # 39;,& # 39;18 & # 39;,& # 39;15 & # 39;),   (NULL, & # 39;甜点& # 39;,& # 39;25 & # 39;,& # 39;12.5 & # 39;),   (NULL, & # 39;玩具& # 39;,& # 39;55 & # 39;,& # 39;45 & # 39;),   (NULL, & # 39;钱包& # 39;,& # 39;285 & # 39;,& # 39;195 & # 39;); mysql>select * from产品;   + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - | + | id名称| original_price | |价格   + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | 1 |雪糕| 5.00 | 3.50 |   | 2 |鲜花| 18.00 | 15.00 |   | 3 |甜点| 25.00 | 12.50 |   | 4 |玩具| 55.00 | 45.00 | | 5 |钱包| 285.00 | 195.00 |   + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 5行组(0.00秒)

 mysql互换表中两列数据方法讲义

2。互换original_price与价格的值

新手可能会使用以下方法进行互换

更新产品设置original_price=价格,价格=original_price; 

但这样执行的结果只会使original_price与价格的值都是价格的值,因为更新有顺序的,
先执行,original_price的值已经更新为价格,
然后执行,这里相当于没有更新。

<强>执行结果:

mysql>select * from产品;   + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - | + | id名称| original_price | |价格   + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | 1 |雪糕| 5.00 | 3.50 |   | 2 |鲜花| 18.00 | 15.00 |   | 3 |甜点| 25.00 | 12.50 |   | 4 |玩具| 55.00 | 45.00 | | 5 |钱包| 285.00 | 195.00 |   + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 5行组(0.00秒)   mysql>更新产品设置original_price=价格,价格=original_price;   查询好了,五行影响(0.00秒)   行匹配:5改变:5警告:0 mysql>select * from产品;   + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - | + | id名称| original_price | |价格   + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | 1 |雪糕| 3.50 | 3.50 |   | 2 |鲜花| 15.00 | 15.00 |   | 3 |甜点| 12.50 | 12.50 |   | 4 |玩具| 45.00 | 45.00 | | 5 |钱包| 195.00 | 195.00 |   + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 5行组(0.00秒)

<强>

mysql互换表中两列数据方法讲义