在MySQL / Innodb中更新后如何解锁元组?

时间:2019-04-28 00:21:27

标签: mysql innodb

我正在尝试为我的数据库课程建模事务数据库。在使用元组进行更新后,我找不到如何解锁元组。

我已经使用了提交,并假定这会释放排他锁,但不会。

START TRANSACTION;
BEGIN;
SELECT * FROM account WHERE account_num = 3 FOR UPDATE;
UPDATE account SET balance= balance + 100 WHERE account_num = 3;
COMMIT;

我应该怎么做才能确保释放此独占锁?

1 个答案:

答案 0 :(得分:0)

START TRANSACTIONBEGIN是同义词;请勿同时使用。

除非您正在事务中执行其他操作,否则不需要SELECT,也不需要事务。 UPDATE将在UPDATE的持续时间内锁定该行。