SELECT FOR UPDATE的加行级锁

select for update是一种sql语句,用于在事务锁定选定的行,以确保其他并发事务无法修改或锁定相同的行,这个语句的作用是在读取数据时给数据行枷锁,以防止其他事务并发并修改相同的数据行。这通常用于实现悲观并发控制
结论:
总结一下SELECT ... FOR UPDATE加锁的情况:
主键字段:加行锁。
唯一索引字段:加行锁。
普通索引字段:加行锁。
普通字段:加表锁。
如果事务一加了行锁,一直没有释放锁,事务二操作相同行的数据时,会一直等待直到超时。
如果事务一加了表锁,一直没有释放锁,事务二不管操作的是哪一行数据,都会一直等待直到超时。

posted @ 2024-06-18 17:01  spiderMan1-1  阅读(4)  评论(0编辑  收藏  举报