循環遍歷 MySQL 表中的行
遍歷 MySQL 表中的每一行是資料處理中常見的操作。雖然「對於 A 中的每筆記錄」等概念存在於其他上下文中,但 MySQL 遵循不同的方法。
使用循環轉換和更新行
執行複雜操作對於單一行,例如將資料插入另一個表並更新欄位值,可以使用基於循環的方法。雖然過程是一個可行的選擇,但本指南將重點放在不需要它們的解決方案。
範例場景
考慮我們有表 A 和 B 的場景,每個都有 ID 和 VAL 欄位。我們的目標是使用類似循環的過程將 A 的內容複製到 B 中。
過程
CREATE PROCEDURE ROWPERROW() BEGIN DECLARE n INT DEFAULT 0; DECLARE i INT DEFAULT 0; SELECT COUNT(*) FROM table_A INTO n; SET i=0; WHILE i<n DO INSERT INTO table_B(ID, VAL) SELECT (ID, VAL) FROM table_A LIMIT i,1; SET i = i + 1; END WHILE; End;
DELIMITER ;; CALL ROWPERROW(); DELIMITER ;
替代方案方法
雖然循環提供了一種簡單的方法來迭代行,但也存在替代方法:
以上是如何在不使用過程的情況下迭代 MySQL 表中的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!