select....for update 行锁

select...for update 行锁 项目涉及到了 今天就记录一下:

select...for update的意思就是把查询出来的数据加上锁,等事务自动提交后锁才被释放。

在mysql数据库中新建查询窗口中执行 

 select * from msg_task_record_detail where state='2' FOR UPDATE;

执行完上面的语句看一下数据库上面会显示提交和回滚

另建一个查询窗口执行

UPDATE msg_task_record_detail set state='123' where state='2'

数据库会显示正在处理,意思就是你这一行数据被锁住了,必须等释放以后才能对这一行数据做更新操作

注意:

select...for update 行锁能成功的前提下是必须有索引。

猜你喜欢

转载自blog.csdn.net/shuoshuo_12345/article/details/81980991
今日推荐