11、现在有一个user用户表,需要往user表中插入2000个登录用户
要求如下:
1、在插入用户前先判断是否存在2000个登录用户,如果存在则统计表中实际的行数
如若不存在则自动补齐剩余的数据
2、表名为user,存储过程名字随意取,表中字段有id user_name user_pwd verify格式如下
(1,user1,123456,verify),且id、用户名不能重复,verify字段为随机生成的6位数验证码 。
CONCAT函数 可以把2个字符串进行连接。
11、现在有一个user用户表,需要往user表中插入2000个登录用户
要求如下:
1、在插入用户前先判断是否存在2000个登录用户,如果存在则统计表中实际的行数
如若不存在则自动补齐剩余的数据
2、表名为user,存储过程名字随意取,表中字段有id user_name user_pwd verify格式如下
(1,user1,123456,verify),且id、用户名不能重复,verify字段为随机生成的6位数验证码 。
CONCAT函数 可以把2个字符串进行连接。
drop procedure if exists user_pro;
create procedure user_pro(n int)
begin
declare i int default (select count(*) from user);
declare j varchar(255) default '';
declare k varchar(255) default '';
/*drop table if exists user;
create table user(id int(20) primary key auto_increment,user_name varchar(20
),user_pwd int(20),verify varchar(20));
insert into user values(1,'user1',123456,'n3jdas');*/
if i>=n THEN #i=1 n=2000
select count(*) from user;
ELSE
while n > i DO
set i=i+1;
#1.验证码方法一
#set k=(select SUBSTRING(MD5(rand()),1,6));
#2.验证码方法二
#set k=(select substring(MD5(RAND()),floor(RAND()*26)+1,6) as rand_str);
#3.验证码方法三
set k=(select rand_string(6)); #这个是调用了rand_string这个函数得到的返回值
#4.验证码方法四
set k =(select ceiling(rand()*500000)+500000);
set j = (select concat('user',i));
insert into user(user_name,user_pwd,verify)values(j,123456,k);
end while;
select * from user;
end if;
END
call user_pro(56)