MariaDB隔离级别

时间:2017-06-09 00:15:51

标签: mysql transactions mariadb isolation-level

我正在开发MariaDB。我有一个2个会话并行工作的场景,并了解他们使用SELECT COUNT()时的行为和事情。但是,在最后的SELECT COUNT()中我得到6作为计数,但我期望得到5.我相信我的问题在于代码设置的隔离级别。我知道默认隔离级别是REPEATABLE READ和SET SESSION为整个会话更改它,而SET TRANsaction仅为其声明的会话的下一个事务更改它。最后一次SET TRANSACTION对我来说很奇怪,因为我相信之前隔离级别已经恢复到可重复读取。

这是我创建的表:

CREATE TABLE Accounts (acctID  INTEGER NOT NULL PRIMARY KEY,  balance 
INTEGER NOT NULL, CONSTRAINT unloanable_account CHECK (balance >= 0));
INSERT INTO Accounts (acctID,balance) VALUES (101,1000);
INSERT INTO Accounts (acctID,balance) VALUES (202,2000);
SELECT * FROM Accounts;
COMMIT;

和2个会议:

enter image description here

0 个答案:

没有答案