0

为什么 MySQL 工作台显示未提交的更改?

-- create a new empty table
DROP TABLE IF EXISTS X;
CREATE TABLE X (val varchar(10));

-- disable autocommit
SET AUTOCOMMIT = 0;

-- insert a row without committing
INSERT INTO X (val) VALUES ('text');

在此刻

SELECT @@autocommit, @@tx_isolation;

返回

| 0 | 可重复阅读 |

但是,查询显示尚未提交的值:

SELECT * FROM X;

| 正文 |

为什么 MySQL 返回带有未提交数据的结果集?

如果我使用回滚事务

ROLLBACK;

然后 MySQL 在查询 X 时返回一个空表。(这确认事务在某个时间点没有自动提交。)

4

1 回答 1

0

原因是我总是在同一个事务中(不管窗口选项卡)。

于 2014-08-30T08:29:47.147 回答