如何使用SQL更改MS Access中的表以将数据类型更改为“自动编号”?
我尝试跟随但没有成功
ALTER TABLE PERSON ALTER COLUMN PERSON_ID Integer PRIMARY KEY counter ); ALTER TABLE PERSON ALTER COLUMN PERSON_ID Integer PRIMARY KEY AUTONUMBER ); ALTER TABLE PERSON ALTER COLUMN PERSON_ID Integer PRIMARY KEY AUTOINCREMENT );
每次遇到相同的问题“语法错误”时,都会突出显示SQL中的最后一个单词。
对于Access中的数据定义(DDL)查询,您可以COUNTER用来定义“自动编号”字段。你试图同时使用Integer,并counter在相同的领域,这是行不通的。
COUNTER
Integer
counter
我刚刚尝试过,它在Access 2010中对我有用:
ALTER TABLE PERSON ALTER COLUMN PERSON_ID COUNTER PRIMARY KEY
请注意,为了使此语句起作用
如果表中已经有行,则Access将不允许您将Numeric (Long Integer)字段转换为AutoNumber。在这种情况下,您需要使用自动编号主键创建一个新表,然后将旧表中的行插入到新表中。
Numeric (Long Integer)
AutoNumber
例如,对于具有列的名为[PERSON]的现有表
PERSON_ID INTEGER PERSON_NAME TEXT(50)
您需要创建一个新表
CREATE TABLE PERSON_NEW (PERSON_ID COUNTER PRIMARY KEY, PERSON_NAME TEXT(50))
然后复制记录
INSERT INTO PERSON_NEW SELECT * FROM PERSON