ホームページ >データベース >mysql チュートリアル >Python MySQL インタラクションで「コマンドが同期していません」が発生する理由とその修正方法は何ですか?

Python MySQL インタラクションで「コマンドが同期していません」が発生する理由とその修正方法は何ですか?

DDD
DDDオリジナル
2024-11-30 03:28:14345ブラウズ

Why Does

エラー メッセージ: Python と MySQL の「コマンドが同期していません」

Django を介して Python からストアド プロシージャを実行すると、ユーザーは次のような問題に遭遇する可能性がありますエラー メッセージ「コマンドが同期していません。現在このコマンドを実行できません。」この問題は、プロシージャを呼び出した後に後続のステートメントを実行しようとすると発生し、トランザクションのコミットが成功しません。

この問題は複雑なストアド プロシージャに限定されるものではなく、単純化されたストアド プロシージャでも発生する可能性があります。示されている例では、「cursor.callproc()」に続いて「cursor.fetchall()」および「cursor.execute()」を呼び出すと、エラーがトリガーされます。

解決策:

この問題を解決するには、カーソル オブジェクトを閉じてから再度開く必要があります。ステートメント:

cursor.close()
cursor = connection.cursor()

カーソルを閉じて再度開くと、接続状態がリセットされ、「コマンドが同期していない」エラーを発生させることなく後続のコマンドを実行できるようになります。 「fetchall()」で取得した結果セットは、カーソルを閉じた後もアクセス可能なままであることに注意してください。

以上がPython MySQL インタラクションで「コマンドが同期していません」が発生する理由とその修正方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。