首页 >后端开发 >Python教程 >为什么我的 SQLite3 代码会抛出'提供的绑定不正确”错误?

为什么我的 SQLite3 代码会抛出'提供的绑定不正确”错误?

Barbara Streisand
Barbara Streisand原创
2024-12-05 01:15:101008浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn