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循環的方法,選擇適合自己的方法來實現。