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

Xử lý trường hợp NOT NULL có điều kiện trong MySQL

Đố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)