我有一批像这样的查询:
START TRANSACTION
SELECT amount FROM piggybank WHERE id = 2
UPDATE piggybank SET amount = amount + 5 WHERE id = 1
COMMIT
我需要确保在事务结束前,没有其他人能够读写ID为1和2的行(锁定整个表也可以)。问题是,当我阅读MySQL手册时,它说开始一个事务会清除在此之前所有的锁,并且锁定会提交任何正在进行的事务。
但是我需要同时锁定行(或表)并使用事务。