做个信息网站,每条信息一个唯一编号。如何实现比较好? 要求编号简短。不要像GUID那样。太长了。用时间到毫秒也太长了(20091215153325)如果在8位或以下就好了。纯数字。各位有什么好的方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自动编号太简单,还是用guid,你把id的长度设为?,guid就会自动生成?就不会向你说的生成的那么长了! 你难道不知道Guid有多长?记住了,128位...就算转换为16进制字符串也有32个字符长...8位数字确实太小...SQL Server可以用自动编号,Oracle可以用Sequence... 自增长的种子值基本满足要求,如果觉着int少,可以设为bigint,最大可达到9,223,372,036,854,775,807 sql里可以用自增字段,oracle里可以用序列 任何情况下都不建议用自动编号作为参数 可以用时间+自增组合标识 例[news]id title newsid1 新闻1 20091215050512 新闻2 2009121505062这样做的好处是 多表关联数据时(例如新闻和评论) 在重建数据库或其他情况导致自增列重新排序情况下 不会导致数据不对应[comment]id content newsid1 评论 2009121505051 自增 以后就麻烦了。导个数据都受罪。SQL Server 的自动编号,Oracle可以用Sequence。都是麻烦的主。做个判断,在for循环过快的时候发生重复值的时候,在来一次。再或者 固定sleep的 睡眠时间。如果不是一下for 几万条数据 ,还是蛮好的。 [Quote=引用 6 楼 vrhero 的回复:]引用 3 楼 cswdcswd 的回复:自动编号太简单,还是用guid,你把id的长度设为?,guid就会自动生成?就不会向你说的生成的那么长了!你难道不知道Guid有多长?记住了,128位...就算转换为16进制字符串也有32个字符长...在数据库里设 sid varchar(10),最后只会生成10位的编号!我以前试过的! 网站好像被黑了,请问是什么原因呢 repeater根据列的值让其显示指定颜色 MVC3+EF5 前台显示问题 2009 想换工作.散分......... 如何做一个用户名不可重复的检查代码 “System.Web.UI.Control”并不包含对“DataItem”的定义 求多个手机号码(半角)+逗号(半角) 正则表达式 Randomize 的问题 请问怎样给一个DateTime类型的变量附一个空的初始值? 急求asp.net求高手相助! 自定义用户控件无法更新(调试单步执行状态可以更新,直接运行不行) string[] 怎么写入内容在读取出来?
[news]
id title newsid
1 新闻1 2009121505051
2 新闻2 2009121505062这样做的好处是 多表关联数据时(例如新闻和评论) 在重建数据库或其他情况导致自增列重新排序情况下 不会导致数据不对应
[comment]
id content newsid
1 评论 2009121505051
导个数据都受罪。
SQL Server 的自动编号,Oracle可以用Sequence。
都是麻烦的主。
做个判断,在for循环过快的时候发生重复值的时候,在来一次。
再或者 固定sleep的 睡眠时间。如果不是一下for 几万条数据 ,还是蛮好的。
引用 3 楼 cswdcswd 的回复:
自动编号太简单,还是用guid,你把id的长度设为?,guid就会自动生成?就不会向你说的生成的那么长了!你难道不知道Guid有多长?记住了,128位...就算转换为16进制字符串也有32个字符长...在数据库里设 sid varchar(10),最后只会生成10位的编号!我以前试过的!