设定Acce 数据库自增长字段初始值

文章作者 100test 发表时间 2007:10:24 11:44:58
来源 100Test.Com百考试题网


最近在做论坛数据转换程序。例如表src, 表dest都有一个id自增长字段,(都是access数据库,起始值1 ,步长1)
表src中id,char两字段的值为
1、a
2、b
3、c
6、d
7、e
9、f

这样在将src中的记录插入表dest的时候会有麻烦,使得表dest中记录如下所示
1、a
2、b
3、c
4、d
5、e
6、f

  这样造成dest和其它关联表中的数据难以对应 。因此有必要在向表dest中插入记录时 设置其id字段的起始值,然后再进行插入操作
在 http://access911.net/fixhtm/71FAB01E13DC.htm?tt= 发现如下文字:
通过以下语句,你可以在建表的时候指定其起始值和步进值:
CREATE TABLE tblNewOrder2 (
OrderId AUTOINCREMENT (1000, 10),
ItemId LONG, Quantity LONG)

  你也可以用下面的语句修改下一个起始值和步进值:
ALTER TABLE tblOrder
ALTER COLUMN OrderId COUNTER (2000, 50)

要重新开始:
ALTER TABLE tableName
ALTER COLUMN OrderId COUNTER (1, 1)

在 VBE 界面里面用以下代码:
docmd.runsql "ALTER TABLE tableName ALTER COLUMN OrderId COUNTER (1, 1)"
这里要注意的是自动编号往往被用作标识记录的唯一性,但是 Jet 在用 DDL 语句更改自动编号的同时不会保证修改后的自动编号仍然保持唯一性,因此会出现标识号重复的现象。要避免这一现象最好把自动编号设定为主键、或者不可重复。

相关文章


Acce 数据库与SQLserver2000的数据互导
教你在Acce 数据库中如何使用SQL
如何获取M QLServer,Oracel,Acce 中的数据字典信息
解析用 MA移植Acceses到SQL几点问题
设定Acce 数据库自增长字段初始值
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛