SELECT ... FOR UPDATE和MAX()

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