sql >> Databasteknik >  >> RDS >> Mysql

Upprepade MySQL-frågor från Python returnerar samma data

Du måste utföra anslutningen efter varje fråga. Detta förbinder den aktuella transaktionen och säkerställer att nästa (implicita) transaktion tar upp ändringar som gjorts medan den föregående transaktionen var aktiv.

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

Konceptet här är isoleringsnivåer. Från dokumenten (min betoning):



  1. MySQL Välj rader där tidsstämpelkolumnen mellan nu och 10 minuter sedan

  2. varchar(255) v tinyblob v tinytext

  3. Flera kolumner i MATCH MOT

  4. Ställer in klasssökvägen för JAR-filer