ACCESS 自动编号不存在自动将缺号补上的功能,并非 ACCESS 功能不全,而是您的在使用方法上错误了 关于自动编号和压缩数据库

ACCESS 自动编号不存在自动将缺号补上的功能,并非 ACCESS 功能不全,而是您的在使用方法上错误了
关于自动编号和压缩数据库
你必须理解,自动编号(长整型)的目的不是为了使记录号连续,其用途有2个
1、标识记录的唯一性
2、标识记录的生成顺序
基于上述原因,你想使用自动编号字段来表示连续的记录号本身这个思路就是错误的。

如何表示连续的记录号有以下几个办法:
1、再建立一个专门用来存放记录号的字段,比如 RecordNo
添加记录时可以用 MAX(recordNO)+1 的方法。
当要删除某条记录时,比如这条记录的recordNo=6,我们用

delete from table where recordNo=6

来做。这样就会产生空号,然后再用

update table set recordno=recordno-1 where recordno>6

即可

2、在表中不存放记录号的数据,用sql查询自动生成

select [id],a,b,c,(select count(*) from table table2 where table2.[id]<=table1.[id]) as recordno from table table1 order by [id]

其中 [id] 字段为自动编号字段
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值