一个关于主键的很奇怪的问题。(在线)

wlwangzi 2002-07-29 10:20:57
我用当前月份+序号作一个字段并设为主键。
如当前为:2002070001
2002070002
但在记录累加到:2002070099
下一条是:2002070100,但做这条记录时系统报错:主键记录重复。
我看过数据库,表中没有这条记录,这是怎么回事。
字段为:char(12)
...全文
94 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生如梦 2002-09-02
  • 打赏
  • 举报
回复
有没有2002070100,可以用select count(*) into :li_count from table where column_name = '2002070100';
然后看li_count
建议: liangshi001(糧食人人要) 的方法可行啊
NetCobra 2002-07-30
  • 打赏
  • 举报
回复
看看你的程序里面是不是正确的生成了2002070100这个值,MessageBox出来看看
liangshi001 2002-07-30
  • 打赏
  • 举报
回复
我建議你先用ls_no=right(當前記錄號,4)取得序號
然后ll_no=long(ls_no)+1
再根據ll_no 的長 ,在前面加幾個'0'
choose len(ll_no)
case 1
ls_no='000'+string(ll_no)
case 2
ls_no='00'+string(ll_no)
....
end choose
rdy_fxy 2002-07-30
  • 打赏
  • 举报
回复
哥们我遇到一个和你这个一样的问题, 我也是用日期加单号, 可加到54就出现你那种情况,没办法我只好在数据库中更改数据,目前还能用但不知什么原因!
wlwangzi 2002-07-30
  • 打赏
  • 举报
回复
大哥们,帮帮忙,怎么回事啊
velen 2002-07-30
  • 打赏
  • 举报
回复
char-->varchar
AlexHoo 2002-07-30
  • 打赏
  • 举报
回复
程序的问题,生成的序号不对
banalman 2002-07-30
  • 打赏
  • 举报
回复
没有遇到过
supsuccess 2002-07-30
  • 打赏
  • 举报
回复
我也没碰到,MSS2K
编程夜猫 2002-07-30
  • 打赏
  • 举报
回复
你用的什么数据库,我用SQL Server不会.
joss 2002-07-30
  • 打赏
  • 举报
回复
建议你不要用双字段做主键!
用一个int型字段做主键
让这个字段自动累加!
不就能解决问题了!
而且永远避开了这种问题出现的可能!
jeking 2002-07-29
  • 打赏
  • 举报
回复
生成有误,多数是只进行了2为数值得递增!
多加几位吧!
01->..->..55...->99->01当然重复
super_jack 2002-07-29
  • 打赏
  • 举报
回复
不可能的,仔细查一下!
hjd_cw 2002-07-29
  • 打赏
  • 举报
回复
这个 2002070100 值,是程序里生成的,保证正确吗?
wlwangzi 2002-07-29
  • 打赏
  • 举报
回复
to :jeking
什么意思,我用的是4位啊,而且一个字段如“2002070001”
一共是10位,不会重复啊

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧