mysql 里 非事务的 update 语句,会自动加排它锁吗
資深大佬 : zxCoder 1
没查到相关资料
是我理解错了吗
大多数书 教程都说的是事务的情况
然后在事务中,到底要不要手动写 FOR UPDATE 或 LOCK IN SHARE MODE 来加锁呢?还是说 mysql 会自动根据查询语句的类别来加锁?
大佬有話說 (4)
没查到相关资料
是我理解错了吗
大多数书 教程都说的是事务的情况
然后在事务中,到底要不要手动写 FOR UPDATE 或 LOCK IN SHARE MODE 来加锁呢?还是说 mysql 会自动根据查询语句的类别来加锁?
update 语句依然需要排它锁.
事务中写不写 FOR UPDATE 和 LOCK IN SHARE MODE 取决于你的需求啊.
session 2:
#关闭自动提交
set autocommit = ‘OFF’;
#更新一条记录
update author set name = ‘first_new_2’ where id = 1;
session2 会等待 session1 的锁释放而导致超时
所以一般的事物不需要显示的加锁
Update 即修改 record 是自动加锁的, 你不需要做任何处理.