2017-04-22 1 views
0

Lorsque j'envoie une requête séparée par des points-virgules multiples (c.-à-d. 3 requêtes séparées), cela fonctionne bien, selon que je l'ai terminé avec COMMIT ou ROLLBACK, il insère le valeurs ou annule. MAIS quand je les entre dans trois requêtes distinctes, l'une après l'autre, maintenant ça ne marchera pas. (J'utilise PHP MyAdmin)START TRANSACTION et COMMIT ne fonctionnent pas dans des requêtes séparées dans MySQL

Ce dernier aurait à faire plus de sens, car je pense que tout le point dans les transactions, d'envoyer des requêtes dans une session (transaction) et de décider seulement à la fin si nous voulons les exécuter ou ignorer les modifications apportées à la table.

START TRANSACTION; INSERT INTO x VALUES ('y'); COMMIT;

+0

Pouvez-vous nous montrer votre code PHP? Cela devrait fonctionner si cela est fait directement à partir de MySQL Workbench. –

+0

Si l'une des réponses ci-dessous répond à votre question, le fonctionnement de ce site fonctionne, vous "accepteriez" la réponse, plus ici: *** [Que dois-je faire quand quelqu'un répond à ma question?] (Http: // stackoverflow.com/help/someone-answers)***. Mais seulement si votre question a vraiment été répondue. Si ce n'est pas le cas, envisagez d'ajouter plus de détails à la question. – FrankerZ

Répondre

0

phpMyAdmin ne fonctionne pas de cette façon: Il ne maintient pas la session entre chaque soumission du formulaire, vous obtiendrez pas la fonctionnalité désirée vous cherchez cette façon. Par contre, dans le code, cela fonctionnera comme prévu, car vous ouvrez la connexion une seule fois, exécutez 3 requêtes individuelles, puis fermez la connexion.

+0

Merci beaucoup, donc PHP MyAdmin était la source du problème, juste essayé à travers mon programme et ça a bien fonctionné. – Gabe