Проблема с передачей переменной в sqlite3-запрос

def addword():
    global wordInput
    connection = sqlite3.connect('wordDict.db')
    cursor = connection.cursor()
    cursor.execute('''INSERT INTO verbs(Infinitive)
                    VALUES (wordInput)''')
    connection.commit()

Это часть моего кода, в sql-запрос я хочу передать переменную, но выдаёт ошибку:

sqlite3.OperationalError: no such column: wordInput

f-строки не сработали


Ответы (1 шт):

Автор решения: Sergey

Ошибка очевидная - сервер SQLite не знает ничего про переменную wordInput, вот и ругается. На самом деле, на месте этой переменной в SQL запросе должна стоять текстовая константа, являющаяся значением этой переменной! Попробуйте как-то так:

cursor.execute("INSERT INTO verbs(Infinitive) VALUES ('%s')" % wordInput)
→ Ссылка