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

COMMIT ATAU conn.setAutoCommit(true)

Anda harus secara umum menggunakan Connection.commit() dan bukan Connection.setAutoCommit(true) untuk melakukan transaksi, kecuali jika Anda ingin beralih dari menggunakan transaksi ke model 'transaksi per pernyataan' dari autoCommit.

Yang mengatakan, memanggil Connection.setAutoCommit(true) sementara dalam transaksi akan melakukan transaksi (jika driver sesuai dengan bagian 10.1.1 dari spesifikasi JDBC 4.1). Tetapi Anda benar-benar hanya boleh melakukannya jika Anda bermaksud untuk tetap berada di autoCommit setelah itu, karena mengaktifkan / menonaktifkan autoCommit pada koneksi mungkin memiliki overhead yang lebih tinggi pada koneksi daripada sekadar melakukan (misalnya karena perlu beralih di antara manajer transaksi, lakukan pemeriksaan tambahan , dll).

Anda juga harus menggunakan Connection.commit() dan tidak menggunakan perintah SQL asli COMMIT . Sebagaimana dirinci dalam dokumentasi koneksi:

Masalahnya adalah perintah seperti commit() dan setAutoCommit(boolean) dapat melakukan lebih banyak pekerjaan di latar belakang, seperti menutup ResultSets dan menutup atau menyetel ulang Statements . Menggunakan perintah SQL COMMIT akan melewati ini dan berpotensi membawa driver / koneksi Anda ke status yang salah.



  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 mendapatkan posisi baris di ORDER BY

  2. ubah status Penjadwal Acara di mysql

  3. Menggunakan Laravel Raw Query dengan Placeholder

  4. Cara Memeriksa Status Server di MySQL Workbench menggunakan GUI

  5. Hapus sepenuhnya MariaDB atau MySQL dari CentOS 7 atau RHEL 7