如何在mysql/mariadb中使用嵌套循环生成数据?我试过几次每天生成100个条目,但它只生成一次


DELIMITER $$
CREATE PROCEDURE generate_data2()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE j INT DEFAULT 0;
WHILE i < 10 DO
WHILE j <100 DO
INSERT INTO notifications (id,customer_id,tos,device_type,message,types,read_status,created_at,updated_at) 
VALUES (
null,10000,'tos','device_type','message ','Types',1, DATE_FORMAT(DATE_SUB(now(),INTERVAL i DAY),"%Y-%m-%d %h:%m:%s"),
DATE_FORMAT(DATE_SUB(now(),INTERVAL 2 DAY),"%Y-%m-%d"));
SET j = j + 1; 
END WHILE;
SET i = i + 1;
END WHILE;
END$$
DELIMITER ;

这个代码没有像我预期的那样工作。我想使用while循环每天生成100个数据。但每次循环一次仅持续一天。如果你执行我的代码,你就能理解这个问题。需要更好的专家解决方案。示例:对于2022-Jan-01 100条目2021年12月31日100条目2021年12月30日100条

您应该在每次I迭代中重置j

DELIMITER $$
CREATE PROCEDURE generate_data2()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE j INT DEFAULT 0;
WHILE i < 10 DO
SET J = 0;
#SELECT I,J;
WHILE j <100 DO
INSERT INTO notifications (id,customer_id,tos,device_type,message,types,read_status,created_at,updated_at) 
VALUES (
null,10000,'tos','device_type','message ','Types',1, DATE_FORMAT(DATE_SUB(now(),INTERVAL i DAY),"%Y-%m-%d %h:%m:%s"),
DATE_FORMAT(DATE_SUB(now(),INTERVAL 2 DAY),"%Y-%m-%d"));
SET j = j + 1; 
END WHILE;
SET i = i + 1;
END WHILE;
END $$
DELIMITER ;

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=85c31b4c54428d570057a31af38d1a03

我看到您标记了MariaDB。然后,您可以直接使用续集引擎对这样的查询执行此操作。

INSERT INTO通知(id、customer_id、tos、device_type、message、types、read_status、created_at、updated_at(

SELECT
NULL
,10000
,'tos','device_type','message '
,'Types'
,1
, NOW() - INTERVAL dayLoop.seq   DAY 
, NOW() - INTERVAL dayLoop.seq+1 DAY 
FROM ( SELECT seq FROM seq_1_to_10 ) AS perDayLoop
CROSS JOIN ( SELECT seq FROM seq_1_to_10 ) AS dayLoop
ORDER BY dayLoop.seq, perDayLoop.seq


样本

MariaDB [test]> SELECT seq, NOW() - INTERVAL seq DAY FROM seq_1_to_5;
+-----+--------------------------+
| seq | NOW() - INTERVAL seq DAY |
+-----+--------------------------+
|   1 | 2022-01-07 09:48:09      |
|   2 | 2022-01-06 09:48:09      |
|   3 | 2022-01-05 09:48:09      |
|   4 | 2022-01-04 09:48:09      |
|   5 | 2022-01-03 09:48:09      |
+-----+--------------------------+
5 rows in set (0.001 sec)
MariaDB [test]> 

sample2

MariaDB [test]> SELECT
->  NULL
->  ,10000
->  ,'tos','device_type','message '
->  ,'Types'
->  ,1
->  , NOW() - INTERVAL dayLoop.seq   DAY 
->  , NOW() - INTERVAL dayLoop.seq+1 DAY 
-> , perDayLoop.seq 
-> , dayLoop.seq
-> 
-> FROM ( SELECT seq FROM seq_1_to_10 ) AS perDayLoop
-> CROSS JOIN ( SELECT seq FROM seq_1_to_10 ) AS dayLoop
-> ORDER BY dayLoop.seq, perDayLoop.seq;
+------+-------+-----+-------------+----------+-------+---+------------------------------------+------------------------------------+-----+-----+
| NULL | 10000 | tos | device_type | message  | Types | 1 | NOW() - INTERVAL dayLoop.seq   DAY | NOW() - INTERVAL dayLoop.seq+1 DAY | seq | seq |
+------+-------+-----+-------------+----------+-------+---+------------------------------------+------------------------------------+-----+-----+
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   1 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   2 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   3 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   4 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   5 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   6 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   7 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   8 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |   9 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-07 09:49:25                | 2022-01-06 09:49:25                |  10 |   1 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   1 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   2 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   3 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   4 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   5 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   6 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   7 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   8 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |   9 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-06 09:49:25                | 2022-01-05 09:49:25                |  10 |   2 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   1 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   2 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   3 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   4 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   5 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   6 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   7 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   8 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |   9 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-05 09:49:25                | 2022-01-04 09:49:25                |  10 |   3 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   1 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   2 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   3 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   4 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   5 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   6 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   7 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   8 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |   9 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-04 09:49:25                | 2022-01-03 09:49:25                |  10 |   4 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   1 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   2 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   3 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   4 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   5 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   6 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   7 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   8 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |   9 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-03 09:49:25                | 2022-01-02 09:49:25                |  10 |   5 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   1 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   2 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   3 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   4 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   5 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   6 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   7 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   8 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |   9 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-02 09:49:25                | 2022-01-01 09:49:25                |  10 |   6 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   1 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   2 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   3 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   4 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   5 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   6 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   7 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   8 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |   9 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2022-01-01 09:49:25                | 2021-12-31 09:49:25                |  10 |   7 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   1 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   2 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   3 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   4 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   5 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   6 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   7 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   8 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |   9 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-31 09:49:25                | 2021-12-30 09:49:25                |  10 |   8 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   1 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   2 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   3 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   4 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   5 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   6 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   7 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   8 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |   9 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-30 09:49:25                | 2021-12-29 09:49:25                |  10 |   9 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   1 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   2 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   3 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   4 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   5 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   6 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   7 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   8 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |   9 |  10 |
| NULL | 10000 | tos | device_type | message  | Types | 1 | 2021-12-29 09:49:25                | 2021-12-28 09:49:25                |  10 |  10 |
+------+-------+-----+-------------+----------+-------+---+------------------------------------+------------------------------------+-----+-----+
100 rows in set (0.001 sec)
MariaDB [test]> 

相关内容

最新更新