SQL с python OperationalError (sqlite) - PullRequest
0 голосов
/ 15 мая 2018
import sqlite3

conn = sqlite3.connect('MyIndex.db')

c = conn.cursor()

def insert(t, f, d):
    with conn:
        c.execute("INSERT INTO Index VALUES (:t, :frequency, :docID)", {'t': t, 'f': f, 'd': d})


insert('apple', 1, '1/2')

conn.close()

Я использую SQLite для создания простой базы данных. У меня проблемы с функцией вставки. Он продолжает показывать, что:

sqlite3.OperationalError: near "Index": syntax error

Но мне не удалось найти синтаксическую ошибку в моем коде. Может кто-нибудь сказать мне, как это исправить? Заранее спасибо.

Ответы [ 2 ]

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

Попробуйте поместить Индекс в одинарные кавычки, например:

c.execute("INSERT INTO 'Index' VALUES (:token, :frequency, :docID)", {'token': token, 'frequency': frequency, 'docID': docID})

Индекс - зарезервированное ключевое слово.

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

«ИНДЕКС» - зарезервированное слово в SQL.

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