起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 202|回复: 6

【结】[问题] 编号自增&唯一性问题**

[复制链接]
发表于 2009-2-18 13:06:31 | 显示全部楼层 |阅读模式
数据表有一引用业务参数实现自增的编号字段,该字段为主键。在运行一段时间后,该字段值增加到'00098'。导入一批新数据,新数据中该字段的值最大为'00034',在增加数据记录时,该字段值会与原数据重复,报错:违反唯一性约束。问题:不想删除原来的数据的前提下,如何让字段在新增记录时在最大值上加一呢?
回复

使用道具 举报

发表于 2009-2-18 13:08:48 | 显示全部楼层
很简单啊,如果你用业务系统函数库里面的自增参数的方法的话,去记录表最大值的记录里面把值改一下,改大一些。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-18 13:13:17 | 显示全部楼层
记录表最大值的记录?在哪记录表的最大值?
回复 支持 反对

使用道具 举报

发表于 2009-2-18 13:37:30 | 显示全部楼层
楼主需要看一下你的自增参数取值代码。

如果用的是系统参数,应该存储在协同数据库的通用编码表。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-18 13:50:40 | 显示全部楼层
Value := TCOMMONUTILS.GetAutoIncreaseID(Self.Context,
           TBizParam(Sender).ID, TBizParam(Sender).DisplayName);
   Value := TCOMMONUTILS.StrToRightLenStr(Variants.VarToStr(Value), '0', 10);
回复 支持 反对

使用道具 举报

发表于 2009-2-18 13:55:37 | 显示全部楼层
4楼,修改通用编码表中,找到类型自动递增序列 ,编码是你参数id的记录,修改内容字段的大小
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-18 16:06:56 | 显示全部楼层
多谢多谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 18:06 , Processed in 0.041449 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表