I'm using pymysql.cursors
and a simplified code example that loads a row from a table and prints it every second is:
#!/usr/bin/env python3
import pymysql.cursors
import time
conn = pymysql.connect(host='localhost',
# credentials etc.
cursorclass=pymysql.cursors.DictCursor)
while True:
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM state limit 1;")
vals = cursor.fetchone()
print (vals)
time.sleep(1)
state is a table with a single row in a MariaDb database.
Now while this is running if I fire up a MySQL client and change the table's contents, this script merrily keeps pumping out the original value; i.e. it's apparently not consulting the database(!).
I'm newish to Python and I'm definitely new to PyMySQL, so apols if this is a daft question but I have RTM a bit and it just looks odd.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…