MySQLdbモジュールを使用してPythonからMySQL5.0を使用しています。
データベーステーブル全体の内容をロードして返す単純な関数について考えてみます。
def load_items(connection):
cursor = connection.cursor()
cursor.execute("SELECT * FROM MyTable")
return cursor.fetchall()
SELECT
このクエリは、単純なデータロードを目的としており、その単一のステートメントを超えるトランザクション動作はありません。
このクエリが実行された後、同じ接続が他のタスクを実行するために再度使用されるまでにしばらく時間がかかる場合がありますが、その間、他の接続はデータベースで動作し続けることができます。
操作が接続に未完了のトランザクションを残していないことを確認するためconnection.commit()
に、呼び出しの直後に電話をかける必要がありますか?cursor.execute(...)