mysql 可以分为表级锁和行级锁。 这里记录一下行级锁。
查看数据库是否事务自动提交:
1 -- ON 为开启 OFF为关闭 2 show variables like '%autocommit%'; 3 -- 设置开启自动提交事务 4 set autocommit =1; 5 -- 设置关闭自动提交事务 6 set autocommit = 0;
两个事务都有锁的情况下只有同为共享锁(S锁)才不会造成阻塞。
-- mysql 加共享锁 select ... lock in share mode; -- mysql 加排它锁 select ... for update; -- 普通查询没有锁机制 select ... ;
如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁。(没有锁机制的查询语句还是可以进行查询。)