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 中国語 Web サイトの他の関連記事を参照してください。