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, 1971🔥, 0💬
Popular Posts:
How To Generate CREATE VIEW Script on an Existing View in SQL Server? If you want to know how an exi...
How To Revise and Re-Run the Last SQL Command in Oracle? If executed a long SQL statement, found a m...
What Happens to Your Transactions When ERROR 1213 Occurred in MySQL? If your transaction receives th...
How to check if two JSON values have overlaps using the JSON_OVERLAPS() function? JSON_OVERLAPS(json...
How To Start Instance with a Minimal Initialization Parameter File in Oracle? The sample initializat...