打算让报表自动生成6位随机数,想采用UUID()函数,但是不知道如果只取前6位的话会不会有重复的可能。因为我一直不明白UUID()可以作为主键的依据,是因为重复的概率太低了吗?如果不采用UUID(),如何生成6位随机数作为主键
取六位不如用自增长,随机数也可能重复,数据库主键自增长
sqlserver数据库 (identity) oracle数据库( sequence)
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得
不可以 6位肯定会有可能重复的