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

Penguncian MySQL dalam Kesalahan Kunci Duplikat

Saya pikir Anda menyederhanakan terminologi/proses. Setelah kueri diuraikan dan sebelum dieksekusi, kueri perlu memperoleh kunci yang diperlukan. Pada titik inilah ditentukan bahwa:

  • sesi 1 mendapatkan kunci eksklusif, karena memasukkan dan tidak ada kunci lain
  • sesi 2 dan 3 diantrekan untuk kunci bersama karena kunci eksklusif sudah dipegang oleh sesi 1, dan sesi 2 dan 3 ada kesalahan kunci duplikat

Per di atas, sesi 2 dan 3 mendapatkan antrian untuk kunci bersama karena mereka berada dalam kesalahan kunci duplikat. Namun, saat sesi 1 menghapus kunci dan melepaskan kunci eksklusif, sekarang sesi 2 dan 3 mendapatkan kunci bersama. Pada titik ini keduanya mencoba mendapatkan kunci eksklusif untuk menyelesaikan penyisipan. Namun, tidak ada yang bisa, karena yang lain sudah memegang kunci bersama. Jadi kunci eksklusif tidak diberikan kepada keduanya dan mereka menemui jalan buntu.



  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 mendapatkan nama kolom bersama dengan hasil di php/mysql?

  2. Peringatan:mysqli_connect():Server MySQL telah hilang

  3. apakah PDO::PARAM_INT berlebihan?

  4. Kesalahan pada koneksi SSL PDO

  5. pilih * dari dua tabel dengan # kolom yang berbeda