Parcourir les lignes d'une table MySQL
Itérer sur chaque ligne d'une table MySQL est une opération courante dans le traitement des données. Alors que des concepts tels que « pour chaque enregistrement dans A » existent dans d'autres contextes, MySQL suit une approche différente.
Utiliser des boucles pour transformer et mettre à jour des lignes
Pour effectuer des opérations complexes sur des lignes individuelles, comme l'insertion de données dans une autre table et la mise à jour des valeurs de champ, une approche basée sur une boucle peut être utilisée. Bien que les procédures soient une option viable, ce guide se concentrera sur une solution qui ne les nécessite pas.
Exemple de scénario
Considérons le scénario où nous avons les tableaux A et B , chacun avec des champs ID et VAL. Notre objectif est de copier le contenu de A dans B en utilisant un processus de type boucle.
Procédure
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 ;
Alternative Approches
Bien que les boucles fournissent un moyen simple de parcourir les lignes, des approches alternatives existent :
En fin de compte, la meilleure approche dépend de la tâche spécifique à accomplir et les considérations de performance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!