Để làm điều này, bạn có thể sử dụng COALESCE(). Hãy cùng tạo một bảng trước:
mysql> CREATE TABLE DemoTable1805 (
Name1 VARCHAR(20),
Name2 VARCHAR(20)
); Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh INSERT:
mysql> INSERT INTO DemoTable1805 VALUES('Chris',NULL); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1805 VALUES('David','Mike'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1805 VALUES(NULL,'Mike'); Query OK, 1 row affected (0.00 sec)
Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:
mysql> SELECT * FROM DemoTable1805;
Kết quả sẽ như sau:
+-------+-------+ | Name1 | Name2 | +-------+-------+ | Chris | NULL | | David | Mike | | NULL | Mike | +-------+-------+ 3 rows in set (0.00 sec)
Dưới đây là truy vấn để cập nhật chỉ một trường:
mysql> UPDATE DemoTable1805
SET Name1 = COALESCE(Name1, Name2); Query OK, 1 row affected (0.00 sec) Rows matched: 3 Changed: 1 Warnings: 0
Hãy kiểm tra lại các bản ghi trong bảng:
mysql> SELECT * FROM DemoTable1805;
Kết quả sẽ như sau:
+-------+-------+ | Name1 | Name2 | +-------+-------+ | Chris | NULL | | David | Mike | | Mike | Mike | +-------+-------+ 3 rows in set (0.00 sec)