ошибка TypeError: execute expected at most 2 arguments, got 4
Я пытаюсь изучать Базу данных sqlite на python. Однако, выходит ошибка:
cur.execute("INSERT INTO names VALUES(?, ?, ?);", name, age,gender)
TypeError: execute expected at most 2 arguments, got 4
Не сильно понимаю, что не так с аргументами, поэтому попрошу помочь. Вот мой код:
import sqlite3
conn = sqlite3.connect('Lina.db')
cur = conn.cursor()
cur.execute("""CREATE TABLE IF NOT EXISTS names(
name TEXT,
age TEXT,
gender TEXT);
""")
conn.commit()
name = input("Ваше имя: ")
age = input("Ваш возраст: ")
gender = input("Ваш пол: ")
cur.execute("INSERT INTO names VALUES(?, ?, ?);", name, age, gender)
conn.commit()
P.s Попробовал сделать так:
info = (name, age, gender)
cur.execute("INSERT INTO names VALUES(?, ?, ?);", info)
Это работает, но ради изучения мне всё равно нужно знать, как исправлять эту ошибку
Ответы (1 шт):
Автор решения: Sergey Gornostaev
→ Ссылка
В документации написано, что метод принимает два аргумента - строку запроса и кортеж аргументов
cur.execute("INSERT INTO names VALUES(?, ?, ?);", (name, age, gender))