Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP, MySQL, Transaksi PDO - Apakah kode di dalam blok coba berhenti di komit ()?

Jika transaksi gagal karena alasan apa pun, kode berhenti di baris paling tepat di mana kesalahan terjadi akhir maka eksekusi melompat langsung ke blok tangkapan. Jadi cukup seperti yang Anda tulis di Blok Kode 2.

Perhatikan bahwa Anda harus selalu membuang kembali Pengecualian setelah rollback. Jika tidak, Anda tidak akan pernah tahu apa masalahnya. Jadi seharusnya

try{
    $stmt = $db->prepare(... 1 ...);
    $stmt->execute();

    $stmt = $db->prepare(... 2 ...);
    $stmt->execute();

    $stmt = $db->prepare(... 3 ...);
    $stmt->execute();

    $db->commit();

    return true;
}catch(Exception $e){
    $db->rollBack();
    throw $e;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana cara mengubah waktu varchar aneh menjadi waktu nyata di mysql?

  2. Bagaimana cara membatasi jumlah baris per nilai bidang dalam SQL?

  3. Pengecualian akses penangan pengecualian MySQL sedang ditangani

  4. Apakah ada cara untuk mengeksekusi lebih dari satu kueri per string di MySQL-Python?

  5. PHP/MySQL Masukkan nilai nol