ホームページ >データベース >mysql チュートリアル >Python での MySQL の更新が有効にならないのはなぜですか?
Python での MySQL 更新: 失敗した更新への対処
Python スクリプトで MySQL 更新クエリを実行すると、更新コマンドが実行される問題が発生する可能性があります。実行が成功したことを報告しますが、テーブルは変更されません。これを修正するには、MySQL のトランザクションとコミットの概念を理解することが重要です。
トランザクションは、単一の単位として実行される一連の操作です。 MySQL では、更新クエリが実行されるとトランザクションが開始され、トランザクションがコミットされると終了します。トランザクションがコミットされていない場合、そのトランザクション中に行われた変更は永続的なものではなく、破棄されます。
質問に記載されている問題に対処するために、欠落しているステップは、更新クエリの実行後に commit コマンドを発行することです。実行されました。このコミット コマンドは、トランザクション内で行われたすべての変更をデータベースに永続的に保存する必要があることを MySQL サーバーに通知します。
次のコード スニペットは、コミット コマンドの使用法を示しています。
import MySQLdb dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database") try: curb = dbb.cursor() curb.execute("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11") dbb.commit() # Commit the transaction print("Row(s) were updated :" + str(curb.rowcount)) curb.close() except MySQLdb.Error as e: print("Query failed") print(e)
By dbb.commit() ステートメントを含め、RadioGroups テーブルの更新を含め、トランザクション内で行われたすべての変更はデータベースに永続的に保存されます。
以上がPython での MySQL の更新が有効にならないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。