最近在做论坛数据转换程序。例如表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://www.185dyj.com 发现如下文字:
通过以下语句,你可以在建表的时候指定其起始值和步进值:
以下为引用的内容:
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 语句更改自动编号的同时不会保证修改后的自动编号仍然保持唯一性,因此会出现标识号重复的现象。要避免这一现象最好把自动编号设定为主键、或者不可重复。
哈哈 看来我的问题可以解决了 ,虽然是很不起眼的东西 ,但是用到时候没有 就会很抓狂。
程序虽然简单 但还是决定 明天把代码贴出来。
http://hi.baidu.com/zjyk1984/blog/item/c4d37d27db17e604908f9deb.html
分享到:
相关推荐
1. **种子和增量设置**:可以自定义自动编号的初始值(种子)和每次递增的数值,但这需要在创建表时设定且不推荐更改。 2. **使用GUID**:如果需要更安全的唯一标识,可以考虑使用全局唯一标识符(GUID),虽然不是...
通过`col.Properties`设置字段的特殊属性,如自动增量、初始值和步长。 总结来说,使用VB和ADOX,我们可以方便地进行Access数据库的编程操作,包括创建数据库、创建表、定义字段属性以及删除表等。这种方法使得在VB...
这会告诉ACCESS该字段应作为自动编号字段,并设置初始值为1,每次增长1。 第八步,保存并执行修改后的脚本。如果一切顺利,你应该能在新的ACCESS数据库中看到正确的表结构,且自动编号字段已设置正确。打开.MDB文件...
- **知识点**: MySQL自动增长字段的初始化。 - **解析**: 在使用自动增长字段时,可以通过指定`NULL`或不赋值的方式来触发自动增长。 - **正确答案**: `D.填充数字1`,这会导致自动增长字段不按预期增加。 #### ...
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where....
数据库自动增长字段的处理 - **错误的自动增长字段设置方法**:正确答案是D. 填充数字1。 - 在SQL中,对于`AUTO_INCREMENT`字段,通常的做法是: - 不显式赋值(留空)。 - 或者设置为`NULL`。 - 直接设置为1...
`后,如果`a`初始值为12,则`a`的值变为156。 21. 在关系模型中,属性与字段同义,表示表格中的一列。 22. 电子邮件地址通常由用户名和主机域名组成,中间用`@`字符分隔,选项错误。 以上是部分试题的解析,涉及...
12. 自动增长属性:在MySQL或类似的数据库系统中,`AUTO_INCREMENT`会自动为新插入的记录提供唯一值,即使插入指定的ID,也会跳过。 13. Java类与对象:成员变量在对象初始化后通常是不可修改的。 14. Web服务器...
- Access中的表中的记录标识通常是自动增长的,所以“借阅ID”字段值不一定为“1”。 - “是否赔偿”字段通常设定为逻辑值,有效输入可能包括True(已赔偿)或False。 - 在关系数据库中,主键字段的值必须唯一,...
例如,将`GEN_T_DB_ARTSEQNO_ID`发生器的值重置为初始值1的代码如下: ```sql AGENERATOR = Gen_ID(GEN_T_DB_ARTSEQNO_ID, Gen_ID(GEN_T_DB_ARTSEQNO_ID, 0) * -1 + 1); ``` 这里值得注意的是,`Gen_ID`函数的结果...
- **知识点**: 自动增长字段是数据库设计中的一种常见特性。 - **题目描述**: “设有客户表customers(id,name,tel)...” - **正确答案**: A. 22501 - **解析**: 当使用 `AUTO_INCREMENT` 属性时,如果插入的值为0...
- `code`字段为自动增长的整型字段,初始值为1000,每增加一项递增1。 - **修改表结构:** - Access数据库: ```sql ALTER TABLE tableName ADD [ALTER] columnName columnType ``` - SQL Server数据库: ``...
对于带有AUTO_INCREMENT属性的列,如果希望值自动增长,填充NULL值、不显式填充值或填充0都是正确的,但填充数字1会覆盖自动增长机制,因此是错误的。 3. 投影运算在关系数据库中指的是从关系中选取特定的列,生成...
3. 第三题介绍了Access数据库中创建表的步骤,首先是打开表设计器,定义字段,然后设定主关键字,最后设定字段属性和表的存储。 4. 第四题是一个C语言的循环输出问题,通过分析循环和数组初始化,可以得出输出结果...
### 计算机二级等级考试知识点解析 #### 1. Java中的数据类型 - **基本数据类型**:Java中的基本数据类型包括`byte`...- 声明局部变量时,并不会自动赋予一个默认的初始值。局部变量需要显式地进行初始化后才能使用。
10. AUTO_INCREMENT:在插入记录时,为使AUTO_INCREMENT列自动增长,可以不显式填写该列的值,系统会自动处理。 11. 概念模型的独立性:概念模型独立于具体的机器和DBMS,是数据库设计的基础。 12. ASP.NET网页...
27. Access 2003中,自动增长(AutoNumber)字段类型的长度由系统决定。 这些知识点反映了计算机二级考试的常见内容,包括编程语法、数据库操作、办公软件应用和计算机基础理论等。准备这样的考试需要对这些方面有...
SQL自动增长字段的插入方式 - 对于SQL中的`AUTO_INCREMENT`列,在插入记录时不需明确指定该字段的值。可以使用`NULL`或省略该字段来实现值的自动增长。 ### 11. 软件设计中的模块划分准则 - 在软件设计中,应该...
在 Access 数据库中,为了确保字段值的唯一性,并便于索引,可以将某个字段定义为主键。主键字段不允许包含重复值,因此常用于唯一标识表中的每一条记录。 ### 7. 文件操作类的选择 Java 中的 `InputStream` 类...