如何使用 MySQL 中的循环?

How can I use the loop in MySQL?

DELIMITER $$

CREATE PROCEDURE repeat()
BEGIN
     DECLARE i INT DEFAULT 1;
     WHILE (i <= 100) DO
        INSERT INTO VISITS VALUES ("C9YAoq", "2022-05-03 00:00:00");
        SET i=i+1;
    END WHILE;
END;

DELIMITER ;

错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER $$

CREATE PROCEDURE repeat()
BEGIN
     DECLARE i INT DEFAULT 1;
    ' at line 1

我正在尝试使用循环在 table 中插入 100 行,但这不起作用。

  1. REPEAT 是 MySQL 中的 reserved word。如果你想将它用于用户空间名称,你应该引用它或者使用另一个名称。

  2. 使用 $$ 分隔符正确标记 CREATE PROCEDURE 语句的结束。

结果:

DELIMITER $$

CREATE PROCEDURE `repeat`()
BEGIN
     DECLARE i INT DEFAULT 1;
     WHILE (i <= 100) DO
        INSERT INTO VISITS VALUES ("C9YAoq", "2022-05-03 00:00:00");
        SET i=i+1;
    END WHILE;
END$$

DELIMITER ;