平台使用navicate,创建表格名称为t_temperature;
1.对表格进行一次清空。如果什么都没有就没必要了。
TRUNCATE t_temperature;
2.插入一行数据,根据表格内容自己随便赋值
INSERT into t_temperature VALUES(@current,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
3.重复查询该表,并将其再次插入t_temperature。这里是封装后的函数。重复20生成104W数据。
CREATE DEFINER=`root`@`localhost` PROCEDURE `fakerdate`()
BEGIN
DECLARE i int DEFAULT 0;
WHILE i<20 DO
INSERT INTO t_temperature (datetime,AMax,A0,A1,A2,A3,A4,Bmax,B0,B1,B2,B3,B4,Wmax,W0,W1) SELECT datetime,AMax,A0,A1,A2,A3,A4,Bmax,B0,B1,B2,B3,B4,Wmax,W0,W1 FROM t_temperature;
set i=i+1;
END WHILE;
END
4.为使datetime的值不一样,第三步之后插入新列,列名id。然后使用update函数对数据更新。这步骤用时比较长。这里举个例子。
UPDATE t_temperature set W1 = RAND()*20;
UPDATE t_temperature set t_temperature.datetime = DATE_SUB(t_temperature.datetime,INTERVAL 30*t_temperature.id SECOND);
完成后数据生成完毕。
----------------------------------------------------------------------------
该方法有明显缺点,生成数据的id键会不连续,后面还是老实一个个插入了。。。