Rumah  >  Artikel  >  pangkalan data  >  Apakah peranan yang dimainkan oleh jenis data apabila saya memasukkan rentetan kosong ke dalam lajur MySQL yang diisytiharkan BUKAN NULL?

Apakah peranan yang dimainkan oleh jenis data apabila saya memasukkan rentetan kosong ke dalam lajur MySQL yang diisytiharkan BUKAN NULL?

WBOY
WBOYke hadapan
2023-09-09 22:29:021275semak imbas

当我将空字符串插入声明为 NOT NULL 的 MySQL 列时,数据类型起什么作用?

Apabila kami memasukkan rentetan kosong ke dalam lajur MySQL yang diisytiharkan sebagai NOT NULL, perwakilan rentetan kosong dalam set hasil bergantung pada jenis data. Kami tahu bahawa apabila memasukkan rentetan kosong, kami menyediakan MySQL dengan nilai yang diwakili sebagai integer sebagai INT 0.

Sekarang, jika lajur mempunyai jenis data INTEGER, maka MySQL akan memaparkan 0 dalam set hasil seperti yang ditunjukkan di bawah Rentetan kosong telah dipetakan ke sifar integer.

Contoh

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)

Tetapi jika lajur mempunyai jenis data lain (cth. VARCHAR), maka MySQL akan menunjukkan rentetan kosong dalam set hasil.

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)

Daripada contoh di atas, kita dapat melihat peranan yang dimainkan oleh jenis data apabila kita memasukkan rentetan kosong ke dalam lajur MySQL yang diisytiharkan sebagai BUKAN NULL.

Atas ialah kandungan terperinci Apakah peranan yang dimainkan oleh jenis data apabila saya memasukkan rentetan kosong ke dalam lajur MySQL yang diisytiharkan BUKAN NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam