访问:如何使用表中的现有行将列更改为计数器?

时间:2015-09-01 11:02:10

标签: sql ms-access ms-access-2010 ansi-sql-92

我知道这句话不容易解决:

ALTER TABLE BLOCK ALTER COLUMN block_id COUNTER(5000,1) PRIMARY KEY; 
-- I get here error saying about wrong column type

由于两个原因:

  • 表必须为空
  • 该表必须没有主键

我有这样简化的计划:

GitHub Basics of Authentication

我需要在blockblock_id列和recordrecord_id列中作为计数器。 Source_id中的Source列已经是一个计数器。这里的问题是表格的连接如附图所示。所有这三个表都填充了数据。

Max(block_id)  = 4129
Max(record_id) = 9047

我想让这些列成为一个计数器,从之前编写的2个值开始。有没有制作临时表的解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果没有临时表,就无法做到这一点。主键不是问题,但如果有数据,则永远不能将INT字段更改为自动编号。

您需要使用追加查询(INSERT INTO)将现有ID复制到具有自动编号的新表中。

此链接可能会为您提供一些建议:How to reset an AutoNumber field value in Access