#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)