ホームページ >バックエンド開発 >Python チュートリアル >SQLite3 コードで「指定されたバインディングが正しくありません」エラーがスローされるのはなぜですか?
SQLite3 エラー: 指定されたバインディングが正しくありません
バインド パラメーターを使用して SQL クエリを実行する場合、正しい数のバインディングが指定されていることを確認することが重要です。指定されたコードで、次のエラーが発生しました:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
コードを検査すると、
def insert(array): connection = sqlite3.connect('images.db') cursor = connection.cursor() cnt = 0 while cnt != len(array): img = array[cnt] print(array[cnt]) cursor.execute('INSERT INTO images VALUES(?)', (img)) cnt += 1 connection.commit() connection.close()
バインド パラメーターの指定方法に問題があることが明らかになります。 Cursor.execute ステートメント内:
cursor.execute('INSERT INTO images VALUES(?)', (img))
エラーを解決するには、コンマを作成してタプル:
cursor.execute('INSERT INTO images VALUES(?)', (img,))
または、リスト リテラルを使用できます:
cursor.execute('INSERT INTO images VALUES(?)', [img])
バインド パラメーターがタプルまたはリストとして正しく指定されていることを確認することで、バインディングの正しい数が得られます。使用すると、エラーが解決されます。
以上がSQLite3 コードで「指定されたバインディングが正しくありません」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。