场景
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据:
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据_mysql循环插入随机数据_霸道流氓气质的博客-CSDN博客
在上面的基础上,如何使用存储过程构造坐标数据规律递增以及时间递增的模拟数据。
表结构如下
要实现x字段,类型为decimal,每次递增1插入;record_time时间字段每次递增一秒插入数据。
注:
博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客
实现
1、Navicat-函数-新建函数-选择过程-输入名称-下一步,配置参数模式为IN,名称随意这里为num,类型为int,代表循环次数。
2、点击完成,修改过程代码如下
CREATE DEFINER=`root`@`localhost` PROCEDURE `moniguiji`(IN `num` int)
BEGIN
#Routine body goes here...
DECLARE i int DEFAULT 1;
DECLARE x DOUBLE DEFAULT 5258.61;
DECLARE DTime DATETIME DEFAULT '2023-08-15 16:00:00';
WHILE i<=num DO
INSERT INTO `t_personnel_orientation` ( `x`, `y`, `card_number`, `record_time` )
VALUES
(
x,
5370.97,
'111111',
DTime
);
SET i=i+1;
SET x=x+1;
SET DTime = DATE_ADD(DTime,INTERVAL 1 SECOND);
END WHILE;
END
这里的意思是声明x变量并从5258.61默认值开始,每次循环执行加1操作。
声明DTime时间变量,每次循环从'2023-08-15 16:00:00'开始递增加一秒。
3、点击保存和运行
运行后输入循环次数
等待运行结束
查看数据效果