Mysql——在表中仅插入一个自动递增列

Mysql——在表中仅插入一个自动递增列,mysql,Mysql,假设表A只有一列id(主键) 如何在不指定id的情况下向表中插入新行 我试过这个 INSERT INTO A (`id`) VALUES (NULL) 但它不起作用 编辑:我忘了提到该id,主键具有自动递增和非空属性 编辑2:运行上述查询时的确切错误为 Column 'id' cannot be null 不带```试试看。。 例如: 插入一个(sid)值(NULL)//我用了sid而不是id 对我来说很好 另外,在创建表A时,请指定唯一(sid)。。。 i、 e 创建表A(sid int(

假设表A只有一列id(主键)

如何在不指定id的情况下向表中插入新行

我试过这个

INSERT INTO A (`id`) VALUES (NULL)
但它不起作用

编辑:我忘了提到该id,主键具有自动递增和非空属性

编辑2:运行上述查询时的确切错误为

Column 'id' cannot be null
不带```试试看。。 例如:

插入一个(sid)值(NULL)//我用了sid而不是id

对我来说很好

另外,在创建表A时,请指定唯一(sid)。。。 i、 e


创建表A(sid int(3)非空自动增量唯一(sid))

仅在使用自动递增主键(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)

只要“id”作为自动增量启用(假设id是整数),您就可以执行以下操作:

INSERT INTO A (id) values (null)

“id”每次都会递增。

我遇到了类似的问题,然后我注意到当我将
id
更改为主键+非空+自动递增时,没有应用更改

INSERT INTO `table` () VALUES (); 

也在工作。

为什么不跟我们分享一下它到底是如何失败的呢?PK字段不允许重复值,也不允许空值。大多数密钥字段不能为空。@arvinsim-您对设置的描述看起来是正确的。你可能没有完成你声称已经完成的一些步骤。你能发布你的表定义吗?请:)是的,它是一个自动递增字段,除非我遗漏了什么,这就是问题中描述的设置:-?引用样式不应该改变任何东西我认为这不起作用。我试过了,它试着插入数字0。因为我尝试插入了5次,所以产生了重复的输入错误。@arvinsim:您的设置一定有问题。MySQL接受
NULL
0
作为自动增量列的值,并将它们解释为“使用下一个ID”。这对我使用MySQL数据库很有效。事实上,它每次都会增加id。问题是要得到那个数字,唉!!