Đối với trường hợp NOT NULL có điều kiện, không dùng toán tử <> và =. Cần dùng IS NULL và IS NOT NULL vì NULL là trường hợp đặc biệt trong MySQL.
Tạo bảng demo:
mysql> create table ConditionalNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> SendMessage longtext, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.62 sec)
Chèn dữ liệu:
mysql> insert into ConditionalNotNullDemo(SendMessage) values(NULL); Query OK, 1 row affected (0.16 sec) mysql> insert into ConditionalNotNullDemo(SendMessage) values('Hi'); Query OK, 1 row affected (0.15 sec) mysql> insert into ConditionalNotNullDemo(SendMessage) values('Hello'); Query OK, 1 row affected (0.20 sec) mysql> insert into ConditionalNotNullDemo(SendMessage) values(NULL); Query OK, 1 row affected (0.18 sec)Hiển thị dữ liệu:
mysql> select *from ConditionalNotNullDemo;
+----+-------------+ | Id | SendMessage | +----+-------------+ | 1 | NULL | | 2 | Hi | | 3 | Hello | | 4 | NULL | +----+-------------+ 4 rows in set (0.00 sec)
Trường hợp 1: Lọc tin nhắn NULL
Dùng IS NULL:
mysql> select *from ConditionalNotNullDemo where SendMessage IS NULL;
+----+-------------+ | Id | SendMessage | +----+-------------+ | 1 | NULL | | 4 | NULL | +----+-------------+ 2 rows in set (0.00 sec)
Trường hợp 2: Lọc tin nhắn hợp lệ (không NULL)
Dùng IS NOT NULL:
mysql> select *from ConditionalNotNullDemo where SendMessage IS NOT NULL;
+----+-------------+ | Id | SendMessage | +----+-------------+ | 2 | Hi | | 3 | Hello | +----+-------------+ 2 rows in set (0.03 sec)