【发布时间】:2018-09-19 01:23:11
【问题描述】:
所以我有一个使用 MySQLdb 的函数:
def getUserPoints(uid):
qServer.execute("SELECT points FROM TS3_STAMM_1 WHERE ts3_uid=%s", (uid,))
qConn.commit()
r = int(qServer.fetchall()[0][0])
return r
返回一个无符号整数。
现在发生了两件事:
如果我省略了qConn.commit(),它将始终返回相同的值,即使 mySQL 数据库上的值发生了变化。 (但提交调用不只是为了改变事情吗?)
此外,由于某种原因,如果超过 10 分钟没有对该确切条目的查询,则查询返回与上次查询相同的值。但是在第二次查询之后,就像一秒钟后,它返回了新值。
这是为什么呢?是my code 还是查询的问题?可能是缓存没有清空,第二次返回?
我也试过只运行两次查询,但仍然存在同样的问题。 同样摆脱提交调用不会改变任何东西,并且两次获取也不会改变它。
【问题讨论】:
-
您可能会发现these notes 很有用。
标签: python mysql python-3.x mysql-python