A row exclusive table lock (also called a subexclusive
table lock, SX) generally indicates that the transaction holding the lock has made one
or more updates to rows in the table. A row exclusive table lock is acquired
automatically for a table modified by the following types of statements:
INSERT INTO table ... ;
UPDATE table ... ;
DELETE FROM table ... ;
LOCK TABLE table IN ROW EXCLUSIVE MODE;
A row exclusive table lock is slightly more restrictive than a row share table lock.
Permitted Operations: A row exclusive table lock held by a transaction allows other
transactions to query, insert, update, delete, or lock rows concurrently in the same
table. Therefore, row exclusive table locks allow multiple transactions to obtain
simultaneous row exclusive and row share table locks for the same table.
Prohibited Operations: A row exclusive table lock held by a transaction prevents other
transactions from manually locking the table for exclusive reading or writing.
Therefore, other transactions cannot concurrently lock the table using the following
statements:
LOCK TABLE table IN SHARE MODE;
LOCK TABLE table IN SHARE EXCLUSIVE MODE;
LOCK TABLE table IN EXCLUSIVE MODE;
行排他锁
1. 拥有此锁的事务已经对表内的某些数据行进行了更新操作
2. 获得行排他锁后允许的操作 : 其他事务依然可以查询 ,修改, 删除等
排他表级锁允许其他多个事务同时获得相同表上的行共享表级锁或行排他表级锁
3. 获得行排他锁后禁止的操作 : 禁止其他事务手工地对表加锁进行排他的读写操作
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-991291/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10599713/viewspace-991291/