Incorrect number of bindings supplied. The current statement uses 5, and there are 3 supplied. ошибка sqlite

Рейтинг: 0Ответов: 1Опубликовано: 08.02.2023

выдает ошибку

File "C:\Users\user\Desktop\bot\data_base\sqlite_db.py", line 16, in sql_add_command
    cur.execute('INSERT INTO client VALUES(?, ?, ?, ?, ?)', tuple(data.values()))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 5, and there are 3 supplied.
import sqlite3 as sq


def sql_start():
    global base, cur
    base = sq.connect('Porter.db')
    cur = base.cursor()
    if base:
        print('Data base conected OK!')
    base.execute('CREATE TABLE IF NOT EXISTS client (place TEXT, time TEXT, jobman TEXT, jobtime TEXT, price TEXT)')
    base.commit()


async def sql_add_command(state):
    async with state.proxy() as data:
        cur.execute('INSERT INTO client VALUES(?, ?, ?, ?, ?)', tuple(data.values()))
        base.commit()

Ответы

▲ 0

Чтобы исправить это, вам нужно убедиться, что data.values() возвращает список из 5 значений, которые соответствуют количеству заполнителей в SQL-запросе. Если он возвращает другое количество значений, вам необходимо соответствующим образом скорректировать свой код.