加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

访问SQL – ALTER COLUMN到AutoNumber?

发布时间:2020-12-12 06:53:45 所属栏目:MsSql教程 来源:网络整理
导读:如何使用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 PER
如何使用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,这是行不通的.

我刚试过这个,它在Access 2010中对我有用:

ALTER TABLE PERSON ALTER COLUMN PERSON_ID COUNTER PRIMARY KEY

请注意,为了使此语句有效

>表必须为空,并且
>该表必须没有主键,甚至不能在[PERSON_ID]字段上.

如果表中已有行,则Access将不允许您将Numeric(Long Integer)字段转换为AutoNumber.在这种情况下,您需要使用AutoNumber主键创建一个新表,然后将旧表中的行插入到新表中.

例如,对于具有列的名为[PERSON]的现有表

PERSON_ID INTEGER
PERSON_NAME文字(50)

你需要创建一个新表

CREATE TABLE PERSON_NEW (PERSON_ID COUNTER PRIMARY KEY,PERSON_NAME TEXT(50))

然后复制记录

INSERT INTO PERSON_NEW
SELECT * FROM PERSON

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读