我是新手,我想问下 要设计一个 ID 由 日期和数字组成,数字是按照顺序来的 比如今天的第一个ID 为: 200908130001 第二个ID 为200908130002 明天的第一为200908140001 以此类推,想问如何判断已经到那个数字了在产生新的ID的才能不重复或者遗漏(注 其中的一些ID可能会被删除)。
哥们推荐还是使用数据库自带的编号吧!
方便他是从1开始编号,如果中间删除了一条编号,下次在添加新的数据据时不会出面这个编号的
ACCESS 你只要选择 数据类型:自动编号就行了 有图片可以参考
QQ:260665291
低价承接 网站建设,维护,logo设计,域名备案,SEO优化……出售 空间,域名~可建存储过程,补漏洞 ASP/.NET/WAP都行
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-08-13
个人的想法:
在SQL中实现比较麻烦,
最好在代码中实现,
比如在C#中,
你可以先获取今天的日期20090813
然后用SQL语句查询 select * from 表名 where id like '20090813%'
如果有,
则获取最大值 select max(id) from 表名 where id like '20090813%'
在最大的上加1,再INSERT进去
如果没有则直接从200908130001开始,直接INSERT进去
在SQL中实现比较麻烦,
最好在代码中实现,
比如在C#中,
你可以先获取今天的日期20090813
然后用SQL语句查询 select * from 表名 where id like '20090813%'
如果有,
则获取最大值 select max(id) from 表名 where id like '20090813%'
在最大的上加1,再INSERT进去
如果没有则直接从200908130001开始,直接INSERT进去
第2个回答 2009-08-13
不能重复你就建个唯一约束,不能遗漏你硬要这么搞还是有办法的不过有点麻烦,就是在其它表专门存放最大的编号记录,然后把日期前几位相同的,后面数字+1,然后把这个数字作为你的ID,不过提醒你要记得做成事务,不然会有BUG的
第3个回答 2009-08-13
期待高手指教,我也想了解下。。。