Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable1382 (
-> StudentName VARCHAR(20)
-> );
Query OK, 0 rows affected (0.57 sec)
mysql> INSERT INTO DemoTable1382 VALUES('John');
mysql> INSERT INTO DemoTable1382 VALUES('Chris');
mysql> INSERT INTO DemoTable1382 VALUES('Adam');
mysql> INSERT INTO DemoTable1382 VALUES('Bob');
Dữ liệu trước khi hoán đổi
mysql> SELECT * FROM DemoTable1382;
+-------------+
| StudentName |
+-------------+
| John |
| Chris |
| Adam |
| Bob |
+-------------+
Cập nhật dùng CASE WHEN để hoán đổi 'John' và 'Chris'
mysql> UPDATE DemoTable1382
-> SET StudentName = CASE
-> WHEN StudentName = 'Chris' THEN 'John'
-> WHEN StudentName = 'John' THEN 'Chris'
-> ELSE StudentName
-> END;
Query OK, 2 rows affected (0.19 sec)
Kết quả sau hoán đổi
mysql> SELECT * FROM DemoTable1382;
+-------------+
| StudentName |
+-------------+
| Chris |
| John |
| Adam |
| Bob |
+-------------+
Mẹo: Cách này an toàn vì đánh giá tất cả điều kiện trước khi gán, tránh ghi đè lẫn nhau.