DELIMITER $$
CREATE PROCEDURE proc_gen_chat_user_data(IN csd_userId VARCHAR(32) , IN csd_userName VARCHAR(32),IN nums LONG)
BEGIN
declare row_id bigint ;
declare current_num int ;
declare cus_id bigint;
set current_num = 1;
#循环产生数据
while current_num <= nums #插入N条数据
do
set row_id = REPLACE(unix_timestamp(current_timestamp(3)),'.','') + round(rand() * 10000, 0);
set cus_id = REPLACE(unix_timestamp(current_timestamp(3)),'.','') + round(rand() * 10000, 0);
#开始进行数据生成-创建用户并插入用户表
insert into csd_visitor_information_1215(id,user_id,telephone,real_name,create_time,update_user,del_flag)
values (row_id,cus_id,row_id,'批量测试',now(),-1,'N');
#开始进行数据生成-创建访客-客服关系表
insert into csd_relationship_1215(id,csd_user_id,csd_user_name,visitor_user_id,visitor_user_name,status,create_time,update_user)
values (row_id,csd_userId,csd_userName,cus_id,'批量测试',4,now(),-1);
#开始进行数据生成-创建聊天记录
insert into csd_chat_record_1215(id,sponsor_id,sponsor_name,receiver_id,receiver_name,content,type,status,create_time,create_user)values
(row_id+round(rand() * 10000, 0),csd_userId,csd_userName,cus_id,'批量测试','您已进入人工服务队列,请勿在会话窗口发送账号密码等敏感信息,感谢配合。',0,2,now(),-1),
(row_id+round(rand() * 10000, 0),csd_userId,csd_userName,cus_id,'批量测试','你好欢迎光临,很高兴为您服务',3,2,now(),-1),
(row_id+round(rand() * 10000, 0),cus_id,'批量测试',csd_userId,csd_userName,'你好,想问一下,阿巴阿巴巴',3,2,now(),-1),
(row_id+round(rand() * 10000, 0),csd_userId,csd_userName,cus_id,'批量测试','what R U弄啥嘞?',3,2,now(),-1);
set current_num = current_num + 1;
end
while;
END $$;DELIMITER ;
生成测试数据,param1:客服id,param2:客服名称,param3;生成数据条数
call proc_gen_chat_user_data('1593166085061550082','s','350000');
清空表
truncate table csd_visitor_information_1215;
truncate table csd_relationship_1215;
truncate table csd_chat_record_1215;
查看表总数
select count(id) from csd_visitor_information_1215;
select count(id) from csd_relationship_1215;
select count(id) from csd_chat_record_1215;