2005年5月8日星期日

自定义数据库自动编号初始值和步进值

  自定义数据库自动编号初始值和步进值问题: 如何定义数据库的自动编号字段的初始值和步进值?如何定义自动增加字段的初始值和步进值?如何使删除过数据的自动增加字段的开始值重新从1开始?

  回答: 通过以下语句,你可以在建表的时候指定其起始值和步进值: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 语句更改自动编号的同时不会保证修改后的自动编号仍然保持唯一性,因此会出现标识号重复的现象。要避免这一现象最好把自动编号设定为主键、或者不可重复。