ホームページ > バックエンド開発 > Python チュートリアル > SQLite3 コードで「指定されたバインディングが正しくありません」エラーがスローされるのはなぜですか?

SQLite3 コードで「指定されたバインディングが正しくありません」エラーがスローされるのはなぜですか?

Barbara Streisand
リリース: 2024-12-05 01:15:10
オリジナル
1008 人が閲覧しました

Why Does My SQLite3 Code Throw an

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート