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

PDO Beberapa kueri:transaksi komit dan kembalikan

Ya, pendekatan Anda benar. Menggunakan Try...catch dalam beberapa kasus dapat menghasilkan kode yang lebih bersih dan lebih mudah dibaca, tetapi pendekatan Anda secara keseluruhan baik-baik saja.

Jika fragmen kode Anda berasal dari fungsi yang menangani kueri DB dan tidak banyak lagi, saya mungkin akan mengganti pendekatannya:

// Begin Transaction
$this->db->beginTransaction();

// Fire Queries
if(!$query_one->execute()){
    $this->db->rollback();
    // other clean-up goes here
    return;
}

if(!$query_two->execute()){
    $this->db->rollback();
    // other clean-up goes here
    return; 
}

$this->db->commit();

Tentu saja, jika Anda memerlukan banyak pembersihan sebelum Anda dapat return , maka pendekatan asli Anda lebih baik. Khususnya dalam kasus ini saya akan menggunakan PDO::ERRMODE_EXCEPTION. Ini memiliki beberapa manfaat tambahan, seperti pengecualian yang secara otomatis membatalkan transaksi kecuali jika tertangkap.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kinerja beberapa sisipan MySQL

  2. Tampilan Tab Silang di mySQL?

  3. Cara memperbaiki database dan tabel MySQL

  4. Membuat Tabel Angka di MySQL

  5. Host Virtual WAMP tidak berfungsi