sql >> データベース >  >> RDS >> Mysql

Pythonから繰り返されるMySQLクエリは、同じデータを返します

    各クエリの後に接続をコミットする必要があります。これにより、現在のトランザクションがコミットされ、次の(暗黙の)トランザクションが前のトランザクションがアクティブであった間に行われた変更を確実に取得します。

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

    ここでの概念は分離レベルです。 docs から (私の強調):



    1. 挿入ステートメントを使用してユニコード文字をmysqlに挿入するにはどうすればよいですか?

    2. 非オブジェクトに対するメンバー関数execute()の呼び出し

    3. MySQL-このバージョンのMySQLは、'LIMIT&IN / ALL / ANY/SOMEサブクエリをまだサポートしていません

    4. MySQLでソース-レプリカレプリケーションを構成する方法