Giới thiệu
Để tìm và thay thế giá trị NULL trong cột, sử dụng điều kiện IS NULL trong mệnh đề WHERE của câu lệnh UPDATE.
Ví dụ thực hành
1. Tạo bảng DemoTable768
mysql> CREATE TABLE DemoTable768 (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(100),
ClientAge INT
);
2. Chèn dữ liệu có NULL
mysql> INSERT INTO DemoTable768(ClientName,ClientAge) VALUES
('John',23), (NULL,26), ('Carol',28), (NULL,24);
3. Cập nhật NULL thành 'Chris'
mysql> UPDATE DemoTable768 SET ClientName = 'Chris' WHERE ClientName IS NULL;
4. Kết quả
+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1 | John | 23 |
| 2 | Chris | 26 |
| 3 | Carol | 28 |
| 4 | Chris | 24 |
+----------+-----------+-----------+
Cách thay thế: dùng COALESCE / IFNULL khi SELECT
Nếu chỉ muốn hiển thị giá trị thay thế mà không sửa dữ liệu gốc:
SELECT ClientId, COALESCE(ClientName, 'Chris') AS ClientName, ClientAge
FROM DemoTable768;
-- Hoặc
SELECT ClientId, IFNULL(ClientName, 'Chris') AS ClientName, ClientAge
FROM DemoTable768;
Lưu ý
IS NULLlà cách chuẩn để kiểm tra NULL. Không dùng= NULL(luôn trả về UNKNOWN).- Có thể kết hợp:
WHERE ClientName IS NULL OR ClientName = ''để xử lý cả chuỗi rỗng. - Đặt
DEFAULTcho cột khi tạo bảng để tránh NULL ở bản ghi mới:ClientName VARCHAR(100) DEFAULT 'Unknown'.