向列中插入“NULL”、“0”或無值後,MySQL 是否會為 AUTO_INCREMENT 列分配序號?


即使我們在表中向 AUTO_INCREMENT 列插入 NULL、0 或無值,MySQL 也會自動為 AUTO_INCREMENT 列分配序號。

示例

mysql> create table test123(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Name Varchar(10));
Query OK, 0 rows affected (0.15 sec)

上面的查詢建立了一個名為“test123”的 MySQL 表,其中包含名為“id”和“Name”的列。列“id”宣告為 AUTO_INCREMENT。現在,如果我們在“Name”列中插入“無值”、“0”或“NULL”,MySQL 會為列“id”分配序號。這可以在下面的結果查詢中看到 −

mysql> Insert Into test123(Name) values(''),('0'),(NULL);
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> Select * from test123;
+----+------+
| id | Name |
+----+------+
| 1  |      |
| 2  |    0 |
| 3  | NULL |
+----+------+
3 rows in set (0.00 sec)

更新於:20-6-2020

389 次瀏覽

開啟你的職業生涯

完成課程認證

開始
廣告
© . All rights reserved.