Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Mysqli Rollback savepoint

    Ciao a tutti sto lavorando a un progetto in cui ho un DB InnoDB
    e sto usando mysqli

    Volevo usare le transaction e spulciando ho trovato che i mysqli
    si possono usare:

    /* disable autocommit */
    $mysqli->autocommit(FALSE);

    /* commit insert */
    $mysqli->commit();

    /* Rollback */
    $mysqli->rollback();


    Mi sono sorte alcune domande:

    1. questa istruzione $mysqli->autocommit(FALSE); è obbligatoria? dura solo nell'esecuzione della pagina giusto?
    ma non mi basta partire con il commit..?

    2. cosa cambia usare
    $mysqli->mysqli_query("ROLLBACK");
    DA
    $mysqli->rollback();

    3. se uso $mysqli->rollback();
    come faccio a usare un SAVEPOINT?

    4. ma con $mysqli->commit();
    basta partire con il commit? non manca Start transaction / begin transaction.. ?

    Grazie a chiunque mi aiuti a risolvere i miei dubbi.

  2. #2
    Oggi il caldo mi cuoce il cervello...

    riguardando meglio... alcune cose me le son chiarite da solo.. magari chiedo conferma di aver capito giusto.

    con mysqli si usa:

    /* disable autocommit */
    $mysqli->autocommit(FALSE);

    /* commit insert */
    $mysqli->commit();

    /* Rollback */
    $mysqli->rollback();

    con autocommit(FALSE), disattivo (immagino temporaneamente) l'autocommit, perciò è obbligatorio.
    poi metto in coda tutte le query che mi pare e...
    - con commit le rendo effettive se non ci sono stati errori
    - con rollback invece le annullo nel caso di problemi

    Mi rimangono i seguenti dubbi:

    2. cosa cambia usare
    $mysqli->mysqli_query("ROLLBACK");
    DA
    $mysqli->rollback();

    3. se uso $mysqli->rollback();
    come faccio a usare un SAVEPOINT?

    Grazie a chiunque mi aiuti a risolvere i miei dubbi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.