我有一个循环运行的python3脚本,检查mysql数据库中的新行。我可以从脚本开始之前看到mysql行,但是没有新添加任何内容。
def getLatestFromDb():
global lastSqlid
dbCursor = db.cursor()
dbCursor.execute('SELECT * FROM phrases WHERE id > %s ORDER BY id ASC LIMIT 1', (lastSqlid,))
latestRow = dbCursor.fetchone()
dbCursor.close()
if (latestRow is None):
return latestRow
if (latestRow[0] > lastSqlid): # should always be
lastSqlid = latestRow[0]
return latestRow[1]
当添加新行时(在此脚本之外),我希望它能够看到新行,但事实并非如此。在脚本启动之前查看数据是没有问题的(即,如果lastSqlid设置为1)。但是,例如,当lastSqlid设置为17并且有一个ID为18的新行时,execute语句仍然返回None。