|
|
1
1
造成这种行为的原因是InnoDB的默认隔离级别 REPEATABLE READ . 对于REPEATABLE READ,第一个非锁定SELECT将建立一个表示该时间点数据的快照。所有连续的非锁定选择从同一快照读取。其他事务对数据库的更新不会反映在快照中,因此保持透明。 提交事务(或关闭事务并创建一个新的事务)将导致在下一个查询中创建一个新的快照,表示数据库中的数据 那个 时间点。MySQL就是这样实现的 Consistent Nonlocking Reads 作为他们工作的一部分 ACID 合规战略。
为什么?
在PyMySQL中,有两个(相关的)contextmanager实现,一个在 Cursor (或多或少“记录在案”)和 Connection (可在代码中找到:D)。
所以,对
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |