0

我知道这句话不能轻易解决:

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

因为2个原因:

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

我有这样的简化方案:

在此处输入图像描述

我需要在block表格block_id列和record表格 record_id列中制作一个计数器。Source_id中的列Source已经是一个计数器。这里的问题是表有连接,如附图所示。所有这 3 个表都充满了数据。

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

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

4

1 回答 1

0

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

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

这个链接可能会给你一些想法:How to reset an AutoNumber field value in Access

于 2015-09-01T11:35:37.003 回答