【发布时间】:2018-08-15 09:41:58
【问题描述】:
我有一批这样的查询:
START TRANSACTION
SELECT amount FROM piggybank WHERE id = 2
UPDATE piggybank SET amount = amount + 5 WHERE id = 1
COMMIT
我需要确保没有其他人可以读取或写入 ID 为 1 和 2 的行,直到事务结束。 (锁定整个表也可以) 问题是,当我阅读 MySQL 手册时,它说启动一个事务将清除在启动它之前所做的任何锁定,反过来,锁定将提交任何传出事务。
但我需要同时锁定行(或表)并使用事务。
【问题讨论】: