读书人

随机生成独一的五位数

发布时间: 2012-09-04 14:19:30 作者: rapoo

随机生成唯一的五位数
我想建一个表,然后主键是随机生成的一个唯一的5位数,0不能做首位,应该怎么做啊

[解决办法]
主键随机生成的5位数? 那要是已存在表中,那咋办? 没听说过这么弄的.
只听说过随机生成的uniqueidentifier 作为主键的,其他类型没听说过.
[解决办法]
建议楼主还是不要用随机数做主键了。
与其这样,还不如用一个自增主键 或者用uniqueidentifier
[解决办法]

SQL code
CREATE TABLE t1(    id INT DEFAULT LEFT(REPLACE(ABS(CHECKSUM(NEWID())),0,''),5),    name VARCHAR(20),    sex VARCHAR(2))INSERT INTO t1 (name,sex)SELECT '张三','男' UNION ALLSELECT '李四','男' UNION ALLSELECT '马娘娘','女'SELECT * FROM t1---------------------------id    name    sex21168    张三    男14723    李四    男26245    马娘娘    女
[解决办法]
建议用identity或是guid 类型。

随机五位数,还得保证不重复,完全没有必要。
[解决办法]
SQL code
with t as (select 11110 as id union select 11121 )select top 1 id from (select top 99999 row_number()over(order by a.name) as id from master..spt_values a ,master..spt_values b) twhere id>10000and id not in (select id from t)order by newid()
[解决办法]
楼主,随机生成的五位数作主键是不科学的啊!因为会有重复,还不如用序列,或者用伪列,完全满足楼主。

读书人网 >SQL Server

热点推荐