Cập nhật cột: đặt thành NULL nếu giá trị là chuỗi rỗng '' hoặc chỉ chứa khoảng trắng.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1362 (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(40)
);
Chèn dữ liệu (có rỗng, NULL):
mysql> INSERT INTO DemoTable1362(ClientName) VALUES('Chris'), (' '), ('Bob'), (' '), ('David'), (NULL);
Xem dữ liệu (hàng 2,4 là space, hàng 6 là NULL):
mysql> SELECT * FROM DemoTable1362;
+----------+------------+ | ClientId | ClientName | +----------+------------+ | 1 | Chris | | 2 | | | 3 | Bob | | 4 | | | 5 | David | | 6 | NULL | +----------+------------+
Chuyển chuỗi rỗng/space thành NULL:
mysql> UPDATE DemoTable1362
SET ClientName = NULL
WHERE ClientName = '' OR LENGTH(TRIM(ClientName)) = 0;
Kết quả (hàng 2,4 thành NULL):
mysql> SELECT * FROM DemoTable1362;
+----------+------------+ | ClientId | ClientName | +----------+------------+ | 1 | Chris | | 2 | NULL | | 3 | Bob | | 4 | NULL | | 5 | David | | 6 | NULL | +----------+------------+
Giải thích điều kiện:
ClientName = '': bắt chuỗi rỗng hoàn toàn.LENGTH(TRIM(ClientName)) = 0: bắt chuỗi chỉ chứa khoảng trắng (space, tab, newline...).- Kết hợp
ORđể xử lý cả 2 trường hợp.
Best practice: Thiết kế schema NOT NULL DEFAULT '' hoặc NULL nhất quán, tránh mix rỗng/NULL. Dùng COALESCE(TRIM(cot), 'default') khi SELECT.