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

WBOY
發布: 2023-09-09 22:29:02
轉載
1270 人瀏覽過

当我将空字符串插入声明为 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板