Vous devez valider la connexion après chaque requête. Cela valide la transaction en cours et garantit que la prochaine transaction (implicite) reprendra les modifications apportées alors que la transaction précédente était active.
# 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)
Le concept ici est celui des niveaux d'isolement. À partir de la documentation (c'est moi qui souligne):