Hledáte pojmenované zámky (opatrné, nebezpečné věci, nevyhýbejte se experimentování se zámky na produkčních serverech :D).
Podívejte se na:
A1 :Vyberte jedinečný řetězec, který chcete uzamknout, a použijte GET_LOCK na něm (řekněme GET_LOCK('conversation_' || [id]); pokud vrátí 1 zámek je váš. Dělejte, co chcete, a později zavolejte RELEASE_LOCK (při zohlednění všech možných scénářů, včetně chyb).
A2 :Druhý parametr GET_LOCK je časový limit v sekundách . Pokud vyprší časový limit operace GET_LOCK vrátí 0 .
Z oficiální dokumentace
Tučné písmo je moje:
- Znamená, že můžete držet pouze jeden zámek na připojení (to není problém pro váš případ uživatele)
- Znamená, že po zavření se zámky uvolní připojení
- Znamená, že dvě různá připojení (dokonce i ze stejného fondu) nemusí získat stejný vzhled najednou.