Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cập nhật giá trị cho các ô NULL trong MySQL

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 NULL là 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 DEFAULT cho cột khi tạo bảng để tránh NULL ở bản ghi mới: ClientName VARCHAR(100) DEFAULT 'Unknown'.