SELECT ... FOR UPDATE和MAX()
问题描述:
此查询中的SELECT ... FOR UPDATE
是否锁定该表中的行?
Do SELECT ... FOR UPDATE
in this query lock rows in this table?
表位于InnoDB中,查询位于事务内部
Table is in InnoDB and query is inside transaction
select max(id) from table1 FOR UPDATE
我有这段代码,看来SELECT ... FOR UPDATE
不能锁定行.
I have this code and it seems SELECT ... FOR UPDATE
doesn't lock rows.
答
也许可行吗? :
select id from table where id IN (select max(id) from table1) FOR UPDATE