mysql同一事务内先加行锁再加表锁会冲突吗
时间: 2023-02-10 07:29:31 浏览: 322
MySQL 行锁和表锁的含义及区别详解
在同一事务内,先加行锁再加表锁不会冲突。
在 MySQL 中,事务是一组原子性的 SQL 语句,在一个事务中的所有语句要么全部执行,要么全部不执行。在一个事务内,你可以加任意多个行锁和表锁,只要这些锁不与其他事务的锁冲突即可。
例如,在一个事务内,你可以先加一个行锁,然后再加一个表锁,或者先加一个表锁,再加一个行锁。这样做并不会导致冲突。但是,如果在另一个事务中,已经加了与你的事务内的锁相冲突的锁,那么你的事务就会阻塞,直到另一个事务释放了锁为止。
举个例子,假设你在一个事务内想要加一个行锁,然后再加一个表锁。你的事务会按照如下顺序执行:
1. 在表中查询出要加锁的行。
2. 加行锁。
3. 加表锁。
如果在你的事务执行过程中,另一个事务加了一个与你的锁冲突的锁,那么你的事务就会被阻塞,直到另一个事务释放锁为止。但是,如果另一个事务没有加与你的锁冲突的锁,那么你的事
阅读全文