假设我们有一个表只有一列,id(这是主键)
如何在不指定id的情况下在表中插入新行?
我试过这个
INSERT INTO A (`id`) VALUES (NULL)
Run Code Online (Sandbox Code Playgroud)
它不起作用
编辑:我忘了提到id,主键有auto_increment和NOT NULL属性.
编辑2:运行上述查询时的确切错误是
Column 'id' cannot be null
Run Code Online (Sandbox Code Playgroud)
小智 13
只要'id'作为自动增量启用(假设ID是一个整数),您就可以这样做:
INSERT INTO A (id) values (null)
Run Code Online (Sandbox Code Playgroud)
并且'id'每次都会继续递增.
仅当您使用 auto_increment 主键 (PK) 时才有效,因为每个 PK 都必须具有唯一的非空值。
drop table if exists A;
create table A
(
id int unsigned not null auto_increment primary key
)
engine=innodb;
insert into A (id) values (null),(null);
mysql> select * from A order by id;
+----+
| id |
+----+
| 1 |
| 2 |
+----+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)