为了后期整合,想使用生成字符串或数字的方式做主键,GUID太长了。长度可以慢慢增加或者定义在5-16位之间的一个长度也可以。
各位有什么好的生成唯一数据的方法吗?
http://www.dahuiyi.com/beijing/huiyi_8fb3ed5da6668f2a.html
这种8fb3ed5da6668f2a是怎么生成的,现在看很多网站的url都是这一种。
不是有个类型 uniqueidentifier
方法多了啊!
1.随机数+时间精确到毫秒数,截取你要的位数
2.时间MD5加密后,就可以出现你要的,补充的效果!
二楼的方法比较常用。
项目中,主键一般都被要求能传达一定的业务规则,比如订单类型。
我们这样生成主键的:借助表存储主键包含的信息,再使用存储过程根据当前流水生成新的流水并保存;
比如,订单号:22 10001
{product}业务规则:22-酒店订单,33-机票订单
{number}流水号:用于存储在数据库主键表中的当前主键值
...
表结构参考
table(int id,char productType,int number,char title);
Oracle 序列