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;

最后修改:2022 年 12 月 16 日
如果觉得我的文章对你有用,请随意赞赏