db2 的 select for update 的lock mode
程序员文章站
2022-03-26 13:14:09
...
DB2 for update 没有加排他锁?
select * from table_name where id='xx' for update (id是主键,具有主键索引)
经测试:如上语句并没有给行加U(update)锁,而是S(共享)锁
select * from table_name where id='xx'
select * from table_name where id='xx' for update
select * from table_name where id='xx' for update with CS
如上3条语句效果一样,给查询结果加的都是S锁,1个事务查询到结果,另一个事务仍可以对其查询修改
select * from table_name where id='xx' for update with RR
select * from table_name where id='xx' for update with RS
如上两条,对查询结果加的是U锁,1个事务查询结果未提交,令一个事务无法对其update操作
参考:http://blog.chinaunix.net/uid-20313874-id-299469.html
上一篇: Win 8操作技巧之修复Win 8
推荐阅读
-
浅谈innodb_autoinc_lock_mode的表现形式和选值参考方法
-
Mysql查询语句使用select.. for update导致的数据库死锁分析
-
面试官:你知道select语句和update语句分别是怎么执行的吗?
-
SQL基础语法的单表操作 select|insert|update|delete(增删改查) 简单使用
-
mysql事务select for update及数据的一致性处理讲解
-
linux中yum update被占用(Another app is currently holding the yum lock)的解决办法
-
mysql中的update set select的sql语法实例讲解
-
MySQL中Update、select联用操作单表、多表,及视图与临时表的区别
-
MySQL将select结果执行update的实例教程
-
select...for update在mysql和oracle间锁行为的比较_MySQL