首页 新闻 会员 周边

数据库主键不使用自增字段,求一个方法

0
悬赏园豆:15 [待解决问题]

为了后期整合,想使用生成字符串或数字的方式做主键,GUID太长了。长度可以慢慢增加或者定义在5-16位之间的一个长度也可以。

各位有什么好的生成唯一数据的方法吗?

问题补充:

http://www.dahuiyi.com/beijing/huiyi_8fb3ed5da6668f2a.html

这种8fb3ed5da6668f2a是怎么生成的,现在看很多网站的url都是这一种。

EastAsia的主页 EastAsia | 初学一级 | 园豆:187
提问于:2013-06-08 16:20
< >
分享
所有回答(5)
0

不是有个类型 uniqueidentifier

哇~怪兽 | 园豆:622 (小虾三级) | 2013-06-08 16:23
2

方法多了啊!

1.随机数+时间精确到毫秒数,截取你要的位数

 

2.时间MD5加密后,就可以出现你要的,补充的效果!

Beyond-bit | 园豆:2885 (老鸟四级) | 2013-06-08 16:40
0

二楼的方法比较常用。

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-06-09 09:59
0

项目中,主键一般都被要求能传达一定的业务规则,比如订单类型。

我们这样生成主键的:借助表存储主键包含的信息,再使用存储过程根据当前流水生成新的流水并保存;

比如,订单号:22 10001

{product}业务规则:22-酒店订单,33-机票订单

{number}流水号:用于存储在数据库主键表中的当前主键值

...

表结构参考

table(int id,char productType,int number,char title);

21天后 | 园豆:3 (初学一级) | 2013-06-10 14:45
0

Oracle 序列

Agile.Zhou | 园豆:276 (菜鸟二级) | 2013-06-14 00:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册