Page 1 sur 1

PB transaction contenant plusieurs requêtes

Posté : 13 août 2008, 11:04
par Jullork
Bonjour,
Je rencontre un problème lors d'une transaction contenant plusieurs requêtes.

Mes requêtes sont générées en masse et sont toutes du même format.

Lorsque je lance une transaction avec une seule requête dans mon fichier source, le commit est bien exécuté.
Par contre, quand il y en a plusieurs, la transaction ne passe pas.

Pour vérifier que ma transaction était bonne, j'ai testé mon lot de requêtes générées directement sous MySQL : l'ajout de toutes les lignes est effectué (en une seule fois).

Résumons : Mes requêtes semblent bonnes car elles sont bien exécutées (manuellement).
Ma transaction fonctionne quand il n'y a qu'une requête mais elle échoue quand il y en a plusieurs.

D'où ma question : Peut-on exécuter plusieurs requetes d'insertion en une seule fois (au sein d'une transaction), lancée dans un script php ?

N'hésitez pas à me demander des nfos supplémentaires si je n'ai pas été clair.

Merci d'avance de vos réponses

Posté : 13 août 2008, 13:24
par Sékiltoyai
Tu es sur quel moteur de tables ?

Posté : 13 août 2008, 13:45
par Jullork
Je suis sous MySQL 4.1.9.

Une idée pourquoi ce lot de requêtes échoues ?

Sur un autre forum on m'a dit que "Normalement, depuis PHP tu devrais démarrer la transaction, puis effectuer les requêtes les unes après les autres puis terminer avec un commit.

Si tu veux mettre toutes les requêtes dans une seule chaîne, il faut utiliser les fonctions multiquery. Les fonctions habituelles ne supportent pas les multiqueries."

Qu'en penses-tu ?

Posté : 13 août 2008, 19:47
par Sékiltoyai
Quel moteur de tables je te demandais. InnoDB, ISAM ou MyISAM ?