sql 随机生成新用户ID

随机生成新用户ID(数字) 如果存在 重新生成随机数 但SQL中不能用do while 不知道有没有其他好的方法 .

随便给你做个试验

 

建表

create table test
(id int not null default floor(rand()*100),
name varchar(10))

插入一条数据

insert into test (name) values ('a')

结果

 

 

也就是说,可以设置一个默认值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-22

sql里可以用WHILE啊

以下依据5位用户为例

DECLARE @USERID NUMERIC(10)
DECLARE @NEXT INT
SET @NEXT=0
WHILE @NEXT<1
BEGIN
SELECT @USERID=cast(ceiling(rand() * 10000) as NUMERIC)
IF EXTSTS(SELECT * FROM 用户表 WHERE 
)
SET @NEXT=0 
ELSE  
SET @NEXT=1 
END 
SELECT @USERID

追问

是do while 不是while 前面的只不做一次

追答

IF EXTSTS(SELECT * FROM 用户表 WHERE 用户编号=变量用户编号)
这里少了一句,百度的@USERID显示不出来

SQL里的WHILE没有DO的
循环体是WHILE后的BEIGN..END

第2个回答  2013-08-22
sql 随机生成新用户ID

这个问题我知道

推荐您使用“赛思QQ陌生人推广小助手 ”

不用加好友 直接发消息

日引1万独立IP 绝对没有问题
第3个回答  2013-08-22
你把ID那个字段指定为identity,就会自动产生id了
create table T(ID int identity,Name nvarchar(255))