IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Gestion des transactions [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Par défaut Gestion des transactions
    Bonjour,

    Comment fait-on pour gérer une transaction avec les librairies "mysql" et le moteur InnoDB?

    Concrètement, je cherche à désactiver l'autocommit, effectuer plusieurs opérations en base, puis effectuer un commit ou rollback suivant le résultat des opérations précédentes.

    Merci,

    Flashball

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    SET AUTOCOMMIT=0
    BEGIN WORK

    update ou insert

    COMMIT ou ROLLBACK

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Par défaut
    Plus précisément j'ai désormais un code qui ressemble en gros à çà:

    En début de transaction:
    mysql_query("SET AUTOCOMMIT=0");
    mysql_query("BEGIN WORK");

    Après j'effectue mes requêtes insert, select, update, etc.

    Et je finis avec:
    mysql_query("COMMIT");
    mysql_query("SET AUTOCOMMIT=1");


    @+, Flashball

  4. #4
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Citation Envoyé par Flashball
    Plus précisément j'ai désormais un code qui ressemble en gros à çà:

    En début de transaction:
    mysql_query("SET AUTOCOMMIT=0");
    mysql_query("BEGIN WORK");

    Après j'effectue mes requêtes insert, select, update, etc.

    Et je finis avec:
    mysql_query("COMMIT");
    mysql_query("SET AUTOCOMMIT=1");


    @+, Flashball
    Si ton script se termine après ça, ce n'est pas necessaire de relancer un autocommit à 1.
    Car tu vas relancer un nouveau link id de toute façon, et du coup automatiquement te remettre en autoccomit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des transactions avec les composants DOA
    Par lper dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/12/2008, 16h06
  2. [ORACLE] : Gestion des transactions
    Par dcollart dans le forum Oracle
    Réponses: 5
    Dernier message: 07/07/2006, 08h49
  3. [Data] Gestion des transactions
    Par hlr dans le forum Spring
    Réponses: 2
    Dernier message: 21/02/2006, 09h47
  4. Gestion des transactions - Gestion des erreurs
    Par devdev dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 23/03/2005, 20h17
  5. gestion des transactions
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/03/2004, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo