select for update用法是行锁还是表锁
时间: 2023-11-14 08:44:59 浏览: 73
[] - 2023-07-24 面试官问:select......for update会锁表还是锁行?.pdf
`SELECT ... FOR UPDATE` 是行级锁。它可以锁定被查询的行,防止其他事务修改或删除这些行,直到当前事务结束。在事务结束前,其他事务不能对被锁定的行进行修改或删除操作。
需要注意的是,`SELECT ... FOR UPDATE` 语句会在查询结果上加锁,而不是整张表。如果查询结果包含多行,那么这些行都会被锁定。
此外,`SELECT ... FOR UPDATE` 语句必须在事务中使用,因为只有在事务中才能获得锁,并且只有在事务提交或回滚后,锁才会释放。
阅读全文