sql >> Database teknologi >  >> RDS >> Mysql

Sådan bruger du transaktion i php/mysql

Udsted blot mysql_query('START TRANSACTION'); og kontroller for fejl ved hver enkelt af dine indstik. Hvis en af ​​dem ikke lykkes, udgiv en ROLLBACK med det samme uden at udføre nogen af ​​de resterende forespørgsler. Hvis alt går fint med dem alle, skal du give en COMMIT.

Det kan være nemmere at placere dem i en try-catch blok for at undgå at bruge for mange niveauer af rede med if-else.

// START TRANSACTION
try{
    // INSERT 1
    if(failed)
        throw new Exception();

    // INSERT 2
    if(failed)
        throw new Exception();

    // INSERT 3
    if(failed)
        throw new Exception();

    // COMMIT
}
catch(Exception $e){
    // ROLLBACK
}

Du vil måske også tage et kig på PHPs PDO-udvidelse . Transaktioner er en del af dets funktioner.



  1. Konverter datoformat til DD/MMM/ÅÅÅÅ-format i SQL Server

  2. Angiv alle de kunde-id'er og efternavne, der har foretaget mere end 2 ordrer

  3. Ukendt kolonne i feltlisten

  4. Sådan kontrolleres brugerrettigheder i MySQL Workbench ved hjælp af GUI