首頁  >  文章  >  資料庫  >  當我將空字串插入宣告為 NOT NULL 的 MySQL 欄位時,資料類型扮演什麼角色?

當我將空字串插入宣告為 NOT NULL 的 MySQL 欄位時,資料類型扮演什麼角色?

WBOY
WBOY轉載
2023-09-09 22:29:021271瀏覽

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

當我們將空字串插入宣告為 NOT NULL 的 MySQL 欄位時,結果集中空字串的表示取決於資料類型。我們知道,在插入空字串時,我們向 MySQL 提供整數表示為 INT 0 的值。

現在,如果該列具有 INTEGER 資料類型,那麼 MySQL 將在結果集中顯示 0,如下所示空字串已對應為整數零。

範例

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)

但是如果該列具有任何其他資料類型(例如 VARCHAR),那麼 MySQL 將在結果集中顯示空字串。

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)

從上面的範例中,我們可以看到當我們將一個空字串插入宣告為 NOT NULL 的 MySQL 欄位時,資料類型扮演什麼角色。

以上是當我將空字串插入宣告為 NOT NULL 的 MySQL 欄位時,資料類型扮演什麼角色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除