mysql使用存储过程一次插入大量数据,每条间隔10分钟

提的需求:需要一个月里的记录,其中每隔10分钟就插入一条记录,,现在要模拟测试,一次性生成这些数据

网上看了很多这种文章,但是都不能运行,也许是我没掌握正确的方法,毕竟这也是第一次接触存储过程

在这里插入图片描述
用的navicate:
第一步:点击函数,新建过程 取名 p3:
在这里插入图片描述
第二步:直接完成:
在这里插入图片描述
第三步:加入参数,以及随机数:
在这里插入图片描述

CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(in st date,in et date)
BEGIN
SET @st=st;

INSERT INTO bus_point_data(`point_id`,`data`,`update_time`) VALUES(floor(RAND()*10)+1,ROUND(rand()*10,4),@st);
WHILE @st<et
DO
SET @st=DATE_ADD(@st,INTERVAL 10 MINUTE);
INSERT INTO bus_point_data(`point_id`,`data`,`update_time`) VALUES(floor(RAND()*10)+1,ROUND(rand()*10,4),@st);
END WHILE;
END

st 和 et是开始时间和结束时间 ,
INSERT INTO bus_point_data(point_id,data,update_time)
是插入语句,表里的字段要写全,然后保存过程,
root@localhost 是根据数据库来的,最好改成CURRENT_USER,再保存

第四步:调用过程
新建一个查询:

CALL p3('2020-12-01','2020-12-30');

输入开始结束参数;运行
在这里插入图片描述
插入成功

总结:新建过程,调用过程都可以在新建查询里面完成,前提是语法没错,
新建的表,主键一定要勾选自增,不然会报错,没有默认值

猜你喜欢

转载自blog.csdn.net/weixin_42260782/article/details/112854003
今日推荐