MySQL不支持像其他编程语言中的for循环那样直接在查询中使用。但是可以借助存储过程或事件来实现类似的功能。下面分别介绍两种方法:
DELIMITER $$ CREATE PROCEDURE test_for_loop() BEGIN DECLARE i INT DEFAULT 1; WHILE i <= 10 DO SELECT i; SET i = i + 1; END WHILE; END $$ DELIMITER ;
然后可以调用该存储过程来执行循环:
CALL test_for_loop();
CREATE EVENT test_for_loop_event ON SCHEDULE EVERY 1 SECOND DO BEGIN DECLARE i INT DEFAULT 1; WHILE i <= 10 DO SELECT i; SET i = i + 1; – 延迟1秒钟 SELECT SLEEP(1); END WHILE; END;
然后可以启用该事件:
ALTER EVENT test_for_loop_event ON COMPLETION PRESERVE ENABLE;
以上是两种模拟for循环的方法,选择适合自己的方法来实现。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
相关推荐:MySQL中如何实现循环逻辑