我目前正在使用带有两个不同会话对象的sqlalchemy。在一个对象中,我将行插入到mysql数据库中。在另一个会话中,我正在查询该数据库的最大行ID。但是,第二个会话没有从数据库中查询最新的行ID。如果我手动查询数据库,我会看到正确的最大行id。
如何强制第二个会话查询实时数据库?
最佳答案
第一个会话需要提交以刷新对数据库的更改。
first_session.commit()
会话将所有对象保存在内存中,并将它们一起刷新到数据库中(为了提高效率,延迟加载)。因此
first_session
所做的更改对从数据库读取数据的second_session
不可见。