Dùng UPDATE ... SET cot = IF(dieu_kien, gia_tri_dung, gia_tri_sai). Tạo bảng:
mysql> CREATE TABLE DemoTable (Value INT); Query OK, 0 rows affected (0.47 sec)
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES(10),(20),(10),(20),(30);
Hiển thị dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả:
+-------+ | Value | +-------+ | 10 | | 20 | | 10 | | 20 | | 30 | +-------+ 5 rows in set (0.00 sec)
Cập nhật: nếu Value=10 → đổi thành 20, ngược lại → 10:
mysql> UPDATE DemoTable SET Value = IF(Value=10, 20, 10); Query OK, 5 rows affected (0.20 sec)
Kiểm tra lại (10↔20 đảo nhau, 30→10):
mysql> SELECT * FROM DemoTable;
Kết quả:
+-------+ | Value | +-------+ | 20 | | 10 | | 20 | | 10 | | 10 | +-------+ 5 rows in set (0.00 sec)
Mở rộng: Dùng CASE WHEN ... THEN ... ELSE ... END cho nhiều điều kiện.