一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - mysql 實現互換表中兩列數據方法簡單實例

mysql 實現互換表中兩列數據方法簡單實例

2020-06-28 15:49lqh Mysql

這篇文章主要介紹了mysql 實現互換表中兩列數據方法簡單實例的相關資料,需要的朋友可以參考下

由于最近項目,有這樣一個需求,是把數據庫中的兩列數據互換,經過好久才搞定,這里寫個簡單實例,做過記錄。

1.創建表及記錄用于測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `product` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '產品id',
 `name` varchar(50) NOT NULL COMMENT '產品名稱',
 `original_price` decimal(5,2) unsigned NOT NULL COMMENT '原價',
 `price` decimal(5,2) unsigned NOT NULL COMMENT '現價',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
INSERT INTO `product` (`id`, `name`, `original_price`, `price`) VALUES
(NULL, '雪糕', '5', '3.5'),
(NULL, '鮮花', '18', '15'),
(NULL, '甜點', '25', '12.5'),
(NULL, '玩具', '55', '45'),
(NULL, '錢包', '285', '195');
?
1
2
3
4
5
6
7
8
9
10
11
mysql> select * from product;
+----+--------+----------------+--------+
| id | name  | original_price | 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 rows in set (0.00 sec)

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,這里相當于沒有更新。

執行結果:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
mysql> select * from product;
+----+--------+----------------+--------+
| id | name  | original_price | 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 rows in set (0.00 sec)
 
mysql> update product set original_price=price,price=original_price;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5 Changed: 5 Warnings: 0
 
mysql> select * from product;
+----+--------+----------------+--------+
| id | name  | original_price | 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 rows in set (0.00 sec)

正確的互換方法如下:

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.00 |   3.50 |
|  2 | 鮮花   |          18.00 |  15.00 |
|  3 | 甜點   |          25.00 |  12.50 |
|  4 | 玩具   |          55.00 |  45.00 |
|  5 | 錢包   |         285.00 | 195.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 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.01 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           3.50 |   5.00 |
|  2 | 鮮花   |          15.00 |  18.00 |
|  3 | 甜點   |          12.50 |  25.00 |
|  4 | 玩具   |          45.00 |  55.00 |
|  5 | 錢包   |         195.00 | 285.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产馆在线观看免费的 | 亚洲激情自拍偷拍 | 欧美xxxxx性 欧美xxxbrazzers | 成人免费播放 | 黄网久久 | 欧美vpswindows动物 | 60老妇性xxxxhd| 高考录取率1977-2021 | 国产综合久久久久 | 湿好紧太硬了我太爽了 | 韩国三级做爰 | 456亚洲人成高清在线 | 成人午夜剧场 | 波多野结衣一区免费作品 | 四虎e234hcom | 摄像头东北对白清晰 | 日日碰日日操 | 香蕉久久一区二区不卡无毒影院 | jj视频免费 | 国产高清免费午夜在线视频 | 青草香蕉精品视频在线观看 | 无人区乱码区1卡2卡三卡在线 | 国产精品久久久久久久牛牛 | 精灵之森高清在线 | tube4欧美4 | 国产清纯白嫩大学生正在播放 | 美女的隐私无遮挡撒尿 | 91男人 | 顶级尤物极品女神福利视频 | 玩两个少妇女邻居 | a∨79成人网 | 成功精品影院 | 92国产福利视频一区二区 | 草草视频在线免费观看 | sss在线播放 | 美女扒开肌肌让男人桶 | 欧美va免费大片 | 猛男壮男受bl爽哭了高h | 风间由美一区二区av101 | 俄罗斯妈妈k8影院在线观看 | 四虎www |