Access数据库自增长字段值修改以及初始值的设定

[ At 2/3/2009 By wukong   0 comments ]

前面《SQL Server数据库自增长标识列的更新修改操作方法》一篇中我已经提到了如何修改sql server数据库的自动增长标识列的值方法,但该方法中使用的sql语句并不适用于access数据库,那么access数据库如何修改自增长字段的值呢,目前我还没找到跟sql server中一样方便的sql语句处理方法。不过也可以通过一些其它途径进行修改,只是感觉方法笨了点,有点绕圈。

今天特意测试了access自增长字段的值的修改,发现原来access自增长比起sql server的标识列有一定的灵活性。比如access自增长字段可以直接insert记录时指定数值,但是不要和已经有的记录的该字段值重复了,会主键冲突的,而sql server就不行了。并且如果某个自增长序号已经有记录了,那么删除这条记录后还可以设定该值作为新记录的序号值。但是对于已有的记录,就不能修改自增长字段的值了,如果确需修改,有两种方法,要不就是删除原记录,重新插入数据时指定该字段值。要不就是去除自增长属性,修改成一个不重复的值保存后再将该字段类型设置成自动增长,笨。

那么,如果想设定access数据库自增长字段的初始值该怎么办呢,这个较为简单,可以通过特定sql语句即可实现

如果创建表结构时想设定自增长字段的初始值可以这条语句:
CREATE TABLE 表名 (  自增长字段名 AUTOINCREMENT (1000, 10),   ItemId LONG, Quantity LONG) 

如果表结构已经存在,可以通过这条语句修改:
ALTER TABLE 表名 ALTER COLUMN 自增长字段名 COUNTER (2000, 50)

如果想复位自增长种子重新开始,可以这样:
ALTER TABLE 表名 ALTER COLUMN  自增长字段名 COUNTER (1, 1)

好了,sql server access两种数据库的自增长标识列)都可以修改字段值了。有什么用呢,呵呵,很有用,对于我目前手同的工作来说,就是可以在程序中增加数据导入导出文本文件了,并且导入后一些关键的排序主键字段值不会发生改变,能保持原有数据的编号。其它还有很多用处,大家可以灵活运用了,呵呵。

« mysql语句如何实现类似mssql中top一样查询指定条数记录使用家中宽带架设服务器的方法 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By 空空如也 

Copyright 167-2009 www.7es.cn . Some Rights Reserved. Email:iamwgh@msn.com QQ:49556
Friends site:Null