在向列插入“ NULL”,“ 0”或“无值”时,MySQL会为AUTO_INCREMENT列分配序列号吗?

即使我们在表的列中插入NULL,0或No Value,MySQL也会自动将序列号分配给AUTO_INCREMENT列。

示例

mysql> create table test123(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Name Varchar(10));

上面的查询创建了一个名为“ test123”的MySQL表,该表具有名为“ id”和“ Name”的列。列“ id”被声明为AUTO_INCREMENT。现在,如果我们在“名称”列中插入“无值”,“ 0”或“ NULL”,MySQL会将序列号分配给“ id”列。从下面的结果查询中可以看出-

mysql> Insert Into test123(Name) values(''),('0'),(NULL);
Records: 3 Duplicates: 0 Warnings: 0

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