在向列插入 'NULL'、'0' 或无值时,MySQL 是否会为 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”和“名称”的列。列“id”声明为 AUTO_INCREMENT。现在,如果我们在“姓名”列中插入“无值”、“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-06-2020

389 浏览

开启你的 职业生涯

完成课程即可获得认证

开始
广告