<p>我有两个python程序在运行。Script1定期向表中写入条目,Script2从同一个MySQL表中读取数据。两者同时运行。Script2必须获取表的最后一个(最新添加的)条目。在</p>
<p>现在,问题是Script1完美地向表中添加条目,但是Script2无法每次读取最新的条目。它只在我阅读后关闭连接时读取最新的条目,当我想再次阅读时重新打开它。在</p>
<p><strong>这是唯一可以采取的方法吗?有没有一种方法可以在不需要每次关闭和打开连接的情况下获取更新值?在访问不断更新的数据库时,程序员遵循的最佳实践是什么?</strong></p>
<p>更详细地说:</p>
<p>下面的代码工作正常,但无法显示更新的值。它第一次成功地显示了最后一个条目,但是在接下来的几次readComm()被调用时,相同的条目会再次显示,尽管表已经被更新。在</p>
<pre><code>import MySQLdb
import time
db = MySQLdb.connect("localhost", "root", "abc", "abc")
cursor=db.cursor()
def readComm():
sql = "SELECT * FROM my_table ORDER BY id DESC LIMIT 1;"
try:
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
print '~~~~', results
except:
print "Error! Unable to fetch data"
return
for i in range(5):
readComm()
time.sleep(10)
</code></pre>
<p>如果我修改代码,使它在每次输入和退出readComm()时打开和关闭DB,那么代码将显示更新的值。在</p>