我有一个Djanjo应用程序,该应用程序允许用户输入提交到数据库的数据。
此数据库可通过在同一台计算机上运行的python脚本立即访问。
我的问题是,如果在第3步之后立即执行第4步,则查询不会获得用户输入的最新数据,而是先前已存储在数据库中的数据。
如果用户在30秒后按下按钮,则查询将成功执行。
我的代码以从数据库获取最新数据:
application/vnd.paginated-collection+json
有什么方法可以刷新连接以确保仅检索到最新的值?
写入数据库的速度非常快。刷新 conn = sqlite3.connect('Line3_Data.db')
c = conn.cursor()
c.execute("SELECT tact FROM LineOEE03 ORDER BY tact desc limit 1")
current_tact = c.fetchone()
tact
-----------------
45 <- old value retrieved
60 <- new value from step 3 not retrieved
60 <- new value from step 3 not retrieved
时立即可见。刷新sqlitebrowser
后,检查是否已发生写操作,仍将检索旧值。
大约需要30秒才能读取新值。
答案 0 :(得分:2)
在读取之前执行conn.commit()
应该会使您的连接会话保持最新状态。然后,您将看到数据的最后状态。