Ошибка заполнителя SQLite в скрипте Python - PullRequest
0 голосов
/ 12 мая 2018

В настоящее время я работаю над диссон-ботом, который реализует какую-то экономию на сервере.

При реализации функции добавления элементов в базу данных SQLite я столкнулся с этой проблемой:

    cur.execute("INSERT INTO items (?,?,?,?,?,?)", item)
sqlite3.OperationalError: near "?": syntax error

Я уже переключился на "?" как заполнитель, благодаря этой записи и найденной этой записи, но она мне не сильно помогла.

Все значения получены с помощью аргументов команды в разногласиях и преобразуются либо в строку, либо в int. Я использую SQLiteStudio, и для типов данных установлены значения «Текст» и «Целое число» соответственно.

conn = create_connection(db_file)
        with conn:
            cur = conn.cursor()
            item = (itemname, price, info_text, buy_text, use_text, role,)
            market = (itemname, stock,)
            cur.execute("INSERT INTO items (?,?,?,?,?,?)", item)
            cur.execute("INSERT INTO market (?,?)", market)

1 Ответ

0 голосов
/ 12 мая 2018

Ваши SQL-запросы недействительны.Синтаксис INSERT - один из

INSERT INTO table VALUES (...)
INSERT INTO table (columns) VALUES (...)

. Таким образом, вы сможете изменить свой запрос на

cur.execute("INSERT INTO items VALUES (?,?,?,?,?,?)", item)

, и это исправит его.( документы )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...