日期:2014-05-17 浏览次数:20583 次
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 ALL SELECT '李四','男' UNION ALL SELECT '马娘娘','女' SELECT * FROM t1 --------------------------- id name sex 21168 张三 男 14723 李四 男 26245 马娘娘 女
------解决方案--------------------
建议用identity或是guid 类型。
随机五位数,还得保证不重复,完全没有必要。
------解决方案--------------------
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) t where id>10000 and id not in (select id from t) order by newid()
------解决方案--------------------
楼主,随机生成的五位数作主键是不科学的啊!因为会有重复,还不如用序列,或者用伪列,完全满足楼主。