Anda mencari kunci bernama (hati-hati, hal-hal berbahaya, jangan bereksperimen dengan kunci di server produksi :D).
Lihat di:
A1 :Pilih string unik untuk dikunci dan gunakan GET_LOCK
di atasnya (misalnya, GET_LOCK('conversation_' || [id])
; jika mengembalikan 1
kunci itu milikmu. Lakukan apa pun yang Anda inginkan dan nanti panggil RELEASE_LOCK
(memperhitungkan semua kemungkinan skenario, termasuk kesalahan).
A2 :Parameter kedua dari GET_LOCK
adalah batas waktu dalam detik . Jika waktu operasi habis GET_LOCK
akan mengembalikan 0
.
Dari dokumentasi resmi
Tebal adalah milikku:
- Berarti Anda hanya dapat menahan satu kunci per koneksi (bukan masalah untuk kasus pengguna Anda)
- Berarti kunci akan dilepaskan setelah Anda menutup koneksi
- Berarti bahwa dua koneksi yang berbeda (bahkan dari kumpulan yang sama) tidak dapat memperoleh tampilan yang sama sekaligus.