在 MySQL 中沒有直接的 foreach 語法,但可以通過使用循環語句(如 WHILE、LOOP、REPEAT)結合游標(CURSOR)來實現類似的功能。
以下是一個示例:
DELIMITER //
CREATE PROCEDURE foreach_example()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE id INT;
DECLARE name VARCHAR(255);
DECLARE cur CURSOR FOR SELECT id, name FROM your_table;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO id, name;
IF done THEN
LEAVE read_loop;
END IF;
-- 在此處可以對每一行數據進行處理
-- 例如:輸出id和name
SELECT id, name;
END LOOP;
CLOSE cur;
END//
DELIMITER ;
CALL foreach_example();
在上面的示例中,通過創建一個存儲過程 foreach_example(),使用游標 SELECT id, name FROM your_table 遍歷查詢結果集中的每一行數據,并對每一行數據進行處理。如果需要進行特定的操作,則可以在循環的代碼塊中添加相應的邏輯。