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

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

Tóm tắt

Dùng UPDATE ... SET cot = gia_tri WHERE cot IS NULL để thay thế NULL bằng giá trị cụ thể. Lưu ý dùng IS NULL chứ không phải = NULL.

Ví dụ

1. Tạo bảng

CREATE TABLE OrderDemo (
    OrderId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    OrderPrice INT,
    OrderDatetime DATETIME
);

2. Dữ liệu có NULL

INSERT INTO OrderDemo (OrderPrice, OrderDatetime) VALUES
(200, '2016-09-12'),
(NULL, '2002-11-18'),
(1000, '2017-12-28');

3. Cập nhật NULL thành 6500

UPDATE OrderDemo SET OrderPrice = 6500 WHERE OrderPrice IS NULL;

4. Kết quả

+---------+------------+---------------------+
| OrderId | OrderPrice | OrderDatetime       |
+---------+------------+---------------------+
| 1       | 200        | 2016-09-12 00:00:00 |
| 2       | 6500       | 2002-11-18 00:00:00 |
| 3       | 1000       | 2017-12-28 00:00:00 |
+---------+------------+---------------------+

Lưu ý

  • WHERE OrderPrice = NULL **không bao giờ khớp** – NULL không bằng bất kỳ giá trị nào, kể cả NULL.
  • Dùng IS NULL / IS NOT NULL.
  • COALESCE(OrderPrice, 0) trong SELECT để hiển thị giá trị thay thế mà không sửa dữ liệu.
  • IFNULL() / NULLIF() cho logic phức tạp hơn.