Balavnik
@Balavnik

Как исправить эту ошибку sql?

Написал небольшую программку для создания табличек, в чем может быть ошибка?
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 11 supplied.

Код:
def add_text(text,table_name='text',basename='mainbase'):
    connection = dbconnect(basename)
    cursor= dbcursor(connection,1)
    cursor.execute(f'''INSERT INTO {table_name} text
                    VALUES(?);''',(text,))
    cursor.close()
    commit(connection)
    close(connection)
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
Ты в text передаешь кортеж значений, а хочешь только 1.

Решений 2:
- Если ты хочешь вставить только 1 значение - передавать только 1 значение, а не кортеж, и указать его явно
cursor.execute(f'''INSERT INTO {table_name}(value)
                    VALUES(?);''',(text,))
add_text('value')


- Если хочешь несколько - явно укажи какие
cursor.execute(f'''INSERT INTO {table_name}(value1, value2, value3)
                    VALUES(?);''', text)
add_text(('value', 'second', third'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы