Collections:
RELEASE_LOCK() - Release Lock Instance
How to release an instance of a given lock associated with the current connection session using the RELEASE_LOCK() function?
✍: FYIcenter.com
RELEASE_LOCK(lock) is a MySQL built-in function that releases an instance of a given lock associated with the current connection session. It returns 1 if released Successfully, 0 if the lock is associated with other connection session, or NULL if the does not exist. For example:
SELECT GET_LOCK('MyLock', 60), IS_USED_LOCK('MyLock'); -- +------------------------+------------------------+ -- | GET_LOCK('MyLock', 60) | IS_USED_LOCK('MyLock') | -- +------------------------+------------------------+ -- | 1 | 307 | -- +------------------------+------------------------+ SELECT RELEASE_LOCK('MyLock'), IS_USED_LOCK('MyLock'); -- +------------------------+------------------------+ -- | RELEASE_LOCK('MyLock') | IS_USED_LOCK('MyLock') | -- +------------------------+------------------------+ -- | 1 | NULL | -- +------------------------+------------------------+ SELECT RELEASE_LOCK('MyLock'), IS_USED_LOCK('MyLock'); -- +------------------------+------------------------+ -- | RELEASE_LOCK('MyLock') | IS_USED_LOCK('MyLock') | -- +------------------------+------------------------+ -- | NULL | NULL | -- +------------------------+------------------------+
If a lock has multiple instances, you need to call RELEASE_LOCK() multiple times to release them. For example:
SELECT GET_LOCK('Cloned', 5), IS_USED_LOCK('Cloned'); -- +-----------------------+------------------------+ -- | GET_LOCK('Cloned', 5) | IS_USED_LOCK('Cloned') | -- +-----------------------+------------------------+ -- | 1 | 307 | -- +-----------------------+------------------------+ SELECT GET_LOCK('Cloned', 5), IS_USED_LOCK('Cloned'); -- +-----------------------+------------------------+ -- | GET_LOCK('Cloned', 5) | IS_USED_LOCK('Cloned') | -- +-----------------------+------------------------+ -- | 1 | 307 | -- +-----------------------+------------------------+ SELECT RELEASE_LOCK('Cloned'), IS_USED_LOCK('Cloned'); -- +------------------------+------------------------+ -- | RELEASE_LOCK('Cloned') | IS_USED_LOCK('Cloned') | -- +------------------------+------------------------+ -- | 1 | 307 | -- +------------------------+------------------------+ SELECT RELEASE_LOCK('Cloned'), IS_USED_LOCK('Cloned'); -- +------------------------+------------------------+ -- | RELEASE_LOCK('Cloned') | IS_USED_LOCK('Cloned') | -- +------------------------+------------------------+ -- | 1 | NULL | -- +------------------------+------------------------+ SELECT RELEASE_LOCK('Cloned'), IS_USED_LOCK('Cloned'); -- +------------------------+------------------------+ -- | RELEASE_LOCK('Cloned') | IS_USED_LOCK('Cloned') | -- +------------------------+------------------------+ -- | NULL | NULL | -- +------------------------+------------------------+
Reference information of the RELEASE_LOCK() function:
RELEASE_LOCK(lock): boolean releases an instance of the given lock associated with the current connection session. Arguments, return value and availability: lock: Required. The lock to be released. boolean: Return value. 1 if an instance is released, 0 if the lock is associated with another connection, or NULL if lock does not exist. Available since MySQL 4.
Related MySQL functions:
⇒ SLEEP() - Holding Statement Execution
⇐ RELEASE_ALL_LOCKS() - Release All Locks
2023-12-20, 391🔥, 0💬
Popular Posts:
How to run Queries with SQL Server Management Studio Express in SQL Server? 1. Launch and connect SQ...
How to set database to be READ_ONLY in SQL Server? Databases in SQL Server have two update options: ...
What Is a Dynamic Performance View in Oracle? Oracle contains a set of underlying views that are mai...
How To Generate CREATE VIEW Script on an Existing View in SQL Server? If you want to know how an exi...
What Is "mysqld" in MySQL? "mysqld" is MySQL server daemon program which runs quietly in background ...