Sie müssen die Verbindung nach jeder Abfrage festschreiben. Dadurch wird die aktuelle Transaktion festgeschrieben und sichergestellt, dass die nächste (implizite) Transaktion Änderungen übernimmt, die vorgenommen wurden, während die vorherige Transaktion aktiv war.
# Main loop
while True:
# SQL query
sql = "SELECT * FROM table"
# Read the database, store as a dictionary
mycursor = mydb.cursor(dictionary=True)
mycursor.execute(sql)
# Store data in rows
myresult = mycursor.fetchall()
# Transfer data into list
for row in myresult:
myList[int(row["rowID"])] = (row["a"], row["b"], row["c"])
print(myList[int(row["rowID"])])
# Commit !
mydb.commit()
print("---")
sleep (0.1)
Das Konzept hier ist Isolationsstufen. Aus den Dokumenten (Hervorhebung von mir):