Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les requêtes MySQL répétées de Python renvoient les mêmes données

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):