Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Powtarzające się zapytania MySQL z Pythona zwracają te same dane

Po każdym zapytaniu musisz zatwierdzić połączenie. Zatwierdza to bieżącą transakcję i zapewnia, że ​​następna (niejawna) transakcja odbierze zmiany wprowadzone w czasie, gdy poprzednia transakcja była aktywna.

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

Koncepcją są tutaj poziomy izolacji. Z dokumentacji (podkreślenie moje):



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. używanie zmiennej środowiskowej do lokalnej konfiguracji sekwencjonowania

  2. Łańcuch zamówienia SQL jako liczba

  3. MySQL> Tabela nie istnieje. Ale to robi (albo powinno)

  4. Jak przeszukiwać tablicę JSON w MySQL?

  5. Mysql Jak wybrać tylko z kolumny, jeśli kolumna istnieje?