ホームページ  >  記事  >  バックエンド開発  >  SQLite パラメータ置換で「指定されたバインディングの数が正しくありません」エラーが発生するのはなぜですか?

SQLite パラメータ置換で「指定されたバインディングの数が正しくありません」エラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-10-19 15:29:01341ブラウズ

Why Do I Get

SQLite パラメータ置換の問題

Python 2.5 でパラメータ置換を使用して SQLite データベースをクエリしようとすると、「正しくありません」というエラーが発生する場合があります。付属するバインディングの数。」バインディングが 1 つしか提供されていないにもかかわらず。この問題はデータベースの作成中に発生する可能性があり、データの挿入中に複数のバインディングが関係する可能性があります。

この問題を解決するには、パラメーター置換を含む Cursor.execute() メソッドの正しい形式を使用する必要があります。バインディング パラメータを表す文字列を渡す代わりに、シーケンスを 2 番目の引数として指定する必要があります。修正されたコードは次のようになります。

<code class="python">for item in self.inventory_names:
    self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])
    self.cursor.close()</code>

シーケンス内でパラメーター値を指定すると、Cursor.execute() メソッドはバインディングを正しく認識して適用し、エラーを解決します。カーソル オブジェクトの詳細については、Python の sqlite3 ドキュメントを参照してください。

以上がSQLite パラメータ置換で「指定されたバインディングの数が正しくありません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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