Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да използвам транзакция в php/mysql

Просто пуснете mysql_query('START TRANSACTION'); и проверете за грешки във всяко от вашите вмъквания. Ако някой от тях не успее, незабавно изпратете ROLLBACK, без да правите нито една от останалите заявки. Ако всичко върви добре с всички, издайте COMMIT.

Може да е по-лесно да ги поставите в блок try-catch, за да избегнете използването на твърде много нива на влагане с 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
}

Може също така да разгледате PDO разширението на PHP . Транзакциите са част от неговите функции.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-лесният начин да добавите множество интервали към низ в MySQL – SPACE()

  2. Django:Небуферирана mysql заявка

  3. Как мога да активирам строг sql_mode в MySQL?

  4. Как да регистрирам ръчно нестандартизирани SQL функции в приложението Spring Boot?

  5. Защита от инжектиране на MySQL и знаци за уязвимост с помощта на PHP