sqlite3.Ошибка программирования: Неверное количество предоставленных привязок. В текущем операторе используется 0, и в нем указано 4

#python #sql

Вопрос:

когда я запускаю его, я получаю: sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 0, and there are 4 supplied.

 import sqlite3 database=sqlite3.connect("users.db") cursor=database.cursor() data=("first","last","email","True") print(data) cursor.execute("INSERT INTO users_db VALUES('%s','%s','%s','%s')",data) data=cursor.execute("SELECT * FROM users") print(data.fetchall())  

Ответ №1:

Одинарные кавычки ( ' ) обозначают строковые литералы. Здесь вы вставляете четыре значения строкового литерала %s . Если предполагается, что это заполнители переменных привязки, вам следует удалить кавычки:

 cursor.execute("INSERT INTO users_db VALUES(%s, %s, %s, %s)", data)