Bonjour,
Dans ma base de données, je gére des badges. Je doit changer le format des badge. Ils sont sur 3 chiffres et on doit passer à 3 lettres.
Donc je doit mettre à jour 3 tables pour chaque personnel. Soit environ 15000 requetes.
Dans un premier temps j'ai fait au plus simple je parcours la table des personnels, et je lance les 3 requétes de mise à jour. Ca fonctionne sauf que je suis limité à 30 secondes pour la durée de mon script ce qui correspond à envrion 500 personnels j'en ai envrion 5000(chose que je ne peut modifier).
D'où m'est venu l'idée de de faire des lots. Problème je ne sais pas trop comment faire.
J'ai essayé en concaténant des requétes mais j'ai une erreur de syntaxe. Voici la synthaxe que j'utilise:
j'utilise un ; pour séparer mes requétes mais visiblement mysql_query (je m'en doutais) n'aime pas trop voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $update_histo.="UPDATE inv_utilisateur_badge SET badge='".$badge[$nb_badge]["badge"]."', u_id='" . $req[$nb_badge]["u_id"] . "', date_attribution='$current_datetime'; ";
Qu'en pensez vous ? D'avance merci de vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 1064: Erreur de syntaxe près de '; UPDATE inv_utilisateur_badge SET badge='4PO', u_id='33378', da' à la ligne 1
Partager