Kunci ini ialah tahap aplikasi dan digunakan antara sesi mysql yang berbeza. Ia hanyalah kunci nama, dan tidak mempunyai hubungan langsung dengan jadual, baris dan medan yang anda fahami Kunci khusus diserahkan sepenuhnya kepada aplikasi. Ia adalah kunci eksklusif, yang bermaksud mana-mana sesi yang memegang kunci, sesi lain akan gagal apabila cuba mendapatkan kunci.
Sebagai contoh, jika anda ingin mengunci baris rekod A, maka anda membuat kunci dalam sesi semasa get_lock("record A", 10). Pada masa ini, semua sesi lain masih boleh mengakses dan mengubah suai rekod A sesuka hati, melainkan mereka turut memanggil get_lock("record A", 10) secara eksplisit.
Maksudnya, terpulang kepada permohonan anda untuk memutuskan sama ada hendak menyemak kunci atau tidak. Jika anda ingin mengunci, biarkan semua sesi secara eksplisit memanggil get_lock("record A", 10) apabila mengakses rekod A. Maka jelas sekali hanya satu sesi boleh berjaya. Sesi lain hanya boleh mendapatkan semula kuncirelease_lock selepas menunggu tamat masa atau memanggil
oleh sesi yang menahan kunci.
Begitu juga, jika anda ingin mengunci lajur medan A, kemudian buat kunci get_lock("column A", 10) seperti di atas. Ringkasnya, terpulang kepada aplikasi untuk memutuskan sama ada untuk mengambil kunci atau tidak, dan pangkalan data hanya menyediakan mekanisme ini. Untuk melihat sama ada semua orang mengambil kunci yang sama, ia adalah semata-mata berdasarkan fakta bahawa parameter pertama, nama kunci, adalah rentetan yang berbeza Oleh itu, amalan terbaik ialah menambah nama jadual dan nama pangkalan data di hadapan nama kunci untuk mengelakkan kerosakan tidak sengaja
Kunci ini ialah tahap aplikasi dan digunakan antara sesi mysql yang berbeza. Ia hanyalah kunci nama, dan tidak mempunyai hubungan langsung dengan jadual, baris dan medan yang anda fahami Kunci khusus diserahkan sepenuhnya kepada aplikasi. Ia adalah kunci eksklusif, yang bermaksud mana-mana sesi yang memegang kunci, sesi lain akan gagal apabila cuba mendapatkan kunci.
Sebagai contoh, jika anda ingin mengunci baris rekod A, maka anda membuat kunci dalam sesi semasa
get_lock("record A", 10)
. Pada masa ini, semua sesi lain masih boleh mengakses dan mengubah suai rekod A sesuka hati, melainkan mereka turut memanggilget_lock("record A", 10)
secara eksplisit.Maksudnya, terpulang kepada permohonan anda untuk memutuskan sama ada hendak menyemak kunci atau tidak. Jika anda ingin mengunci, biarkan semua sesi secara eksplisit memanggil
oleh sesi yang menahan kunci.get_lock("record A", 10)
apabila mengakses rekod A. Maka jelas sekali hanya satu sesi boleh berjaya. Sesi lain hanya boleh mendapatkan semula kuncirelease_lock
selepas menunggu tamat masa atau memanggilBegitu juga, jika anda ingin mengunci lajur medan A, kemudian buat kunci
get_lock("column A", 10)
seperti di atas. Ringkasnya, terpulang kepada aplikasi untuk memutuskan sama ada untuk mengambil kunci atau tidak, dan pangkalan data hanya menyediakan mekanisme ini. Untuk melihat sama ada semua orang mengambil kunci yang sama, ia adalah semata-mata berdasarkan fakta bahawa parameter pertama, nama kunci, adalah rentetan yang berbeza Oleh itu, amalan terbaik ialah menambah nama jadual dan nama pangkalan data di hadapan nama kunci untuk mengelakkan kerosakan tidak sengaja