在向列插入"NULL"、"0"或无值时,MySQL 是否会为 AUTO_INCREMENT 列分配序列号?
mysqlmysqli database
即使我们在表中向列插入 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’ 列中插入 ‘No Value’、‘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)