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

PythonのMySqlDBが更新された行を取得しない

    これはInnoDBテーブルですよね? InnoDBはトランザクションストレージエンジンです。 autocommitをtrueに設定すると、おそらくこの動作が修正されます。

    conn.autocommit(True)
    

    または、トランザクション分離レベルを変更することもできます。これについて詳しくは、こちらをご覧ください: http:// dev .mysql.com / doc / refman / 5.0 / en / set-transaction.html

    この動作の理由は、単一のトランザクション内で読み取りが一貫している必要があるためです。同じトランザクション内のすべての一貫した読み取りは、最初の読み取りによって確立されたスナップショットを読み取ります。スクリプトがテーブルを読み取るだけであっても、これもトランザクションと見なされます。これはInnoDBのデフォルトの動作であり、これを変更するか、読み取るたびにconn.commit()を実行する必要があります。

    このページでは、これについて詳しく説明しています。 http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html



    1. OracleのABS()関数

    2. mysqlは一意のキーを組み合わせました

    3. pyodbc-バルク挿入速度が非常に遅い

    4. SQL SELECT構文–DBMSによってリストされます