循环遍历 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中文网其他相关文章!