zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mysql加锁读

mysql 加锁
2023-09-11 14:14:40 时间

Locking Reads

在同一个事务中,如果你先查询数据,随后对相关数据进行插入或修改,那么在标准的SLELECT中不会给出足够的保护。在你查询期间另一个事务可以更新或者删除相同的行。InnoDB提供两种类型的加锁读:

  • SELECT ... LOCK IN SHARE MODE

    给读到的每一行都加共享锁。其它的会话也可以读到这些行,但是它们不能修改这些行,直到你的事务提交。如果这些行被其它事务修改了但尚未提交,你的              查询必须等待直到那个事务结束。

  • SELECT ... FOR UPDATE

    对于检索到的没一个索引记录,锁定这些行和与之关联的索引记录

 

其实,前者是加意向共享锁,后者加意向排它锁。