Sql 使用MS Access查询自动递增我的主键

Sql 使用MS Access查询自动递增我的主键,sql,ms-access,ms-access-2007,Sql,Ms Access,Ms Access 2007,我使用的是一个MS Access数据库,它的表中没有主键(我很清楚这是一个糟糕的做法)。数据库建立在4个链接表(每天从excel文件导入数据)和创建临时表的查询上。我使用ALTERTABLE将主键添加到其中一个已创建的表中。因此,每天通过查询生成表,然后添加主键。是否仍然存在使其自动递增的情况?目前,我的表有15k条记录,但我的主键列是空的。为了创建连接等,新查询是必不可少的。 我不懂VBA 我试过这个(和类似的变体) 必须将AUTOINCREMENT字段声明为PRIMARY KEY,才能使其正

我使用的是一个MS Access数据库,它的表中没有主键(我很清楚这是一个糟糕的做法)。数据库建立在4个链接表(每天从excel文件导入数据)和创建临时表的查询上。我使用ALTERTABLE将主键添加到其中一个已创建的表中。因此,每天通过查询生成表,然后添加主键。是否仍然存在使其自动递增的情况?目前,我的表有15k条记录,但我的主键列是空的。为了创建连接等,新查询是必不可少的。 我不懂VBA

我试过这个(和类似的变体)


必须将
AUTOINCREMENT
字段声明为
PRIMARY KEY
,才能使其正常工作。仅仅靠
AUTOINCREMENT
本身是不够的

Access 2010中即时窗口中的这个示例实现了我认为您需要的功能:添加自动编号字段,并为任何现有行填充该字段

strSQL=“ALTER TABLE Unified\u Backlog\u Shipping\u TABLE”&vbCrLf&_
“添加列P_键自动递增主键;”
CurrentDb.executestrsql

我自己解决的。如果有人有类似的问题,那就是单词的顺序问题

ALTER TABLE Unified_Backlog_Shipping
ADD P_Key AUTOINCREMENT PRIMARY KEY;

一旦列中已有数据,就不能将其更改为“自动编号”。您可以添加自动编号的新列。该列中没有数据。我想添加一个自动编号的列,但由于某种原因,我至今无法添加。谢谢你的回答。谢谢你的回答。我是否只是简单地将其复制并粘贴到创建查询选项的sql选项卡中?
ALTER TABLE Unified_Backlog_Shipping
ADD P_Key AUTOINCREMENT PRIMARY KEY;