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

Vai trò của kiểu dữ liệu khi chèn chuỗi rỗng vào cột NOT NULL trong MySQL

Cách hiển thị chuỗi rỗng trong tập kết quả phụ thuộc vào kiểu dữ liệu khi chèn chuỗi rỗng vào cột MySQL được khai báo NOT NULL. Khi chèn chuỗi rỗng, ta cung cấp một giá trị có biểu diễn nguyên tử là INT 0.

Nếu cột có kiểu INTEGER, MySQL sẽ hiển thị 0 trong tập kết quả vì chuỗi rỗng được ánh xạ thành số nguyên 0.

Ví dụ: Cột kiểu INTEGER

mysql> create table test(id int NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)
mysql> Insert into test(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1
mysql> Select * from test;
+----+--------+
| id | Name   |
+----+--------+
|  1 | Gaurav |
|  0 | Rahul  |
|  0 | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

Nhưng nếu cột có kiểu dữ liệu khác, ví dụ VARCHAR, MySQL sẽ hiển thị chuỗi rỗng trong tập kết quả.

Ví dụ: Cột kiểu VARCHAR

mysql> create table test123(id Varchar(10) NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)
mysql> Insert into test123(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1
mysql> Select * from test123;
+----+--------+
| id | Name   |
+----+--------+
| 1  | Gaurav |
| 0  | Rahul  |
|    | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

Từ các ví dụ trên, ta thấy rõ vai trò của kiểu dữ liệu khi chèn chuỗi rỗng vào cột NOT NULL.