首页 > 试题广场 >

在事务隔离级别为REPEATABLE READ的MySQL

[单选题]
在事务隔离级别为REPEATABLE READ的MySQL InnoDB中,事务A执行:
BEGIN;
SELECT * FROM accounts WHERE balance > 1000;
-- 此时事务B插入了一条balance=2000的记录并提交
SELECT * FROM accounts WHERE balance > 1000;
UPDATE accounts SET balance = balance + 100 WHERE balance > 1000;
SELECT * FROM accounts WHERE balance > 1000;
COMMIT;
关于事务A的三次SELECT结果,以下说法正确的是:
  • 三次SELECT返回完全相同的结果集
  • 前两次SELECT结果相同,第三次SELECT会多出事务B插入的记录
  • 三次SELECT都不会看到事务B插入的记录
  • 第一次SELECT看不到,第二次和第三次都能看到事务B的记录

这道题你会答吗?花几分钟告诉大家答案吧!