Computer >> Máy Tính >  >> Lập trình >> MySQL

Tại sao nó hiển thị 0 thay vì chuỗi trống bất cứ khi nào tôi chèn một chuỗi trống vào một cột MySQL được khai báo là KHÔNG ĐẦY ĐỦ?


Việc chèn một chuỗi trống có nghĩa là chúng ta đang chèn một số giá trị chứ không phải NULL. Chuỗi rỗng dường như ánh xạ tới 0 dưới dạng một số nguyên. Nói cách khác, chúng ta có thể nói rằng bằng cách chèn chuỗi trống, chúng tôi đang cung cấp một giá trị cho MySQL có biểu diễn số nguyên là INT 0. Hãy xem xét ví dụ sau, trong đó chúng tôi đã chèn một chuỗi trống và nó được ánh xạ thành 0 bởi MySQL.

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)