首页 > 其他分享 >select for update

select for update

时间:2022-12-07 07:55:20浏览次数:46  
标签:事务 .. update 默认 mysql select

select ..for update用于锁定特定行。

默认情况下,执行select*from t_szj where id=1 for update和不加update效果一样,原因是:因为默认情况下InnoDB是自动提交的。所以,执行了select..for update后隐式执行了commit。被锁定的行已经解锁,所以在其他事务中执行更新该行的操作能够成功。

如果想要看一下for update的效果,可以关闭自动提交。

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql>

另一个客户端连接

一般for update用在事务中,但是InnoDB默认的事务隔离级别是可重复读,已经实现了事务隔离,for update在这种情况下无用。

 

标签:事务,..,update,默认,mysql,select
From: https://www.cnblogs.com/zhenjingcool/p/16961997.html

相关文章