僅使用“a”和“b”值在 MySQL 列中用“b”更新“a”記錄,用“a”更新“b”記錄(交換)?


為此,請使用 CASE 語句。讓我們首先建立一個表 -

mysql> create table DemoTable
(
   Value char(1)
);
Query OK, 0 rows affected (1.21 sec)

使用插入命令在表中插入一些記錄 -

mysql> insert into DemoTable values('a');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('b');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('a');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('a');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('b');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('a');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('b');
Query OK, 1 row affected (0.13 sec)

使用 select 語句顯示錶中的所有記錄

mysql> select *from DemoTable;

這將產生以下輸出 -

+-------+
| Value |
+-------+
| a     |
| b     |
| a     |
| a     |
| b     |
| a     |
| b     |
+-------+
7 rows in set (0.00 sec)

以下是使用“b”更新“a”記錄並使用“a”更新“b”的查詢 -

mysql> update DemoTable set Value=case when Value='a' then 'b' else 'a' end;
Query OK, 7 rows affected (0.17 sec)
Rows matched: 7 Changed: 7 Warnings: 0

讓我們再次檢查表記錄 -

mysql> select *from DemoTable;

這將產生以下輸出 -

+-------+
| Value |
+-------+
| b     |
| a     |
| b     |
| b     |
| a     |
| b     |
| a     |
+-------+
7 rows in set (0.00 sec)

更新時間: 25-9-2019

370 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始使用
廣告
© . All rights reserved.