我目前正在使用带有两个不同会话对象的sqlalchemy。在一个对象中,我将行插入到mysql数据库中。在另一个会话中,我正在查询该数据库的最大行ID。但是,第二个会话没有从数据库中查询最新的行ID。如果我手动查询数据库,我会看到正确的最大行id。
如何强制第二个会话查询实时数据库?

最佳答案

第一个会话需要提交以刷新对数据库的更改。

first_session.commit()

会话将所有对象保存在内存中,并将它们一起刷新到数据库中(为了提高效率,延迟加载)。因此first_session所做的更改对从数据库读取数据的second_session不可见。

10-07 19:11