sql >> Database >  >> RDS >> Mysql

PHP &mySQL:Eenvoudige code om Transactie te implementeren - Commit &Rollback

U hoeft mysqli niet te gebruiken. U kunt de transactiecommando's gewoon als query's geven.

Dus voor jouw voorbeeld:

mysql_query("start transaction;");

//db_res calls a custom function that performs a mysql_query on the query
$res1 = db_res("SELECT c1, c2 FROM t1 WHERE c5 = 3");
$res2 = db_res("UPDATE t2 SET c1 = 5 WHERE c2 = 10");
$res3 = db_res("DELETE FROM t3 WHERE c1 = 20");

if( $res1 && $res2 && $res3 )
{
  mysql_query("commit;");
}
else
{
  mysql_query("rollback;");
}

Trouwens, als je overweegt om te upgraden naar mysqli, doe dat dan alsjeblieft niet. Upgrade in plaats daarvan naar PDO, dat is veel verstandiger.



  1. SQL selecteer max(datum) en bijbehorende waarde

  2. MySQL Selecteer slechts één rij van elke gediagnosticeerde patiënt volgens de eerste datum

  3. Hoe kan ik de querytijd in Perl, DBI weergeven?

  4. UPDATE met ORDER BY en LIMIT werken niet in MYSQL