在向列插入“ NULL”,“ 0”或“无值”时,MySQL会为AUTO_INCREMENT列分配序列号吗?
即使我们在表的列中插入NULL,0或NoValue,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)