表结构
TABLE [AllUser] (
[UserID] [int] IDENTITY (1000000, 1) NOT NULL ,
[LoginName] [varchar] (32) NOT NULL,
[Password] [varchar] (16) NOT NULL,
[FaceID] [smallint] NOT NULL,
[RegisterTime] [smalldatetime] NOT NULL ,
) ALTER TABLE [dbo].[AllUser] ADD
CONSTRAINT [DF_AllUser_FaceID] DEFAULT (0) FOR [FaceID],
CONSTRAINT [DF_AllUser_LoginTime] DEFAULT (getdate()) FOR [RegisterTime],0
CONSTRAINT [CK_AllUser_FaceID] CHECK ([FaceID] >= 0 and [FaceID] <= 241)
GO
各位大侠,我在这里添加1000个用户到数据库,但是1000个用户的密码却是同一个,循环堪套出了问题,请大侠指点。
代码
declare @i int
declare @j int
declare @a varchar
declare @b varchar(8)
set @a=''
set @b=''
set @j=0
set @i=0
while @i<1000
begin
while @j<8
begin
set @a=convert(varchar,char((126-32)*rand()+32))
set @b=@b+@a
set @j=@j+1
end
set @i=@i+1
if @i<=9
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'000'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i<=99
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'00'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i<=999
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'0'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i=1000
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+CONVERT(varchar,@i),@b,241*rand(),getdate())
end
Go
TABLE [AllUser] (
[UserID] [int] IDENTITY (1000000, 1) NOT NULL ,
[LoginName] [varchar] (32) NOT NULL,
[Password] [varchar] (16) NOT NULL,
[FaceID] [smallint] NOT NULL,
[RegisterTime] [smalldatetime] NOT NULL ,
) ALTER TABLE [dbo].[AllUser] ADD
CONSTRAINT [DF_AllUser_FaceID] DEFAULT (0) FOR [FaceID],
CONSTRAINT [DF_AllUser_LoginTime] DEFAULT (getdate()) FOR [RegisterTime],0
CONSTRAINT [CK_AllUser_FaceID] CHECK ([FaceID] >= 0 and [FaceID] <= 241)
GO
各位大侠,我在这里添加1000个用户到数据库,但是1000个用户的密码却是同一个,循环堪套出了问题,请大侠指点。
代码
declare @i int
declare @j int
declare @a varchar
declare @b varchar(8)
set @a=''
set @b=''
set @j=0
set @i=0
while @i<1000
begin
while @j<8
begin
set @a=convert(varchar,char((126-32)*rand()+32))
set @b=@b+@a
set @j=@j+1
end
set @i=@i+1
if @i<=9
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'000'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i<=99
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'00'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i<=999
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'0'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i=1000
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+CONVERT(varchar,@i),@b,241*rand(),getdate())
end
Go
begin
--此处增加下面两句
select @b=''
select @j=0
set @b=''
set @j=0
[UserID] [int] IDENTITY (1000000, 1) NOT NULL ,
[LoginName] [varchar] (32) NOT NULL,
[Password] [varchar] (16) NOT NULL,
[FaceID] [smallint] NOT NULL,
[RegisterTime] [smalldatetime] NOT NULL ,
) ALTER TABLE [dbo].[AllUser] ADD
CONSTRAINT [DF_AllUser_FaceID] DEFAULT (0) FOR [FaceID],
CONSTRAINT [DF_AllUser_LoginTime] DEFAULT (getdate()) FOR [RegisterTime],
CONSTRAINT [CK_AllUser_FaceID] CHECK ([FaceID] >= 0 and [FaceID] <= 241)
GO
declare @i int
declare @j int
declare @a varchar(1)
declare @b varchar(8)
set @a=''
set @b=''
set @j=0
set @i=0
while @i<1000
begin
while @j<8
begin
set @a=convert(varchar,char((126-32)*rand()+32))
set @b=@b+@a
set @j=@j+1
end
set @i=@i+1
if @i<=9
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'000'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i<=99
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'00'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i<=999
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+'0'+CONVERT(varchar,@i),@b,241*rand(),getdate())
else if @i=1000
Insert into alluser(loginname,password,faceid,registertime)
Values('用户'+CONVERT(varchar,@i),@b,241*rand(),getdate())
set @a=''
set @b=''
set @j=0
end
Go