python sqlite создание синтаксической ошибки таблицы - PullRequest
0 голосов
/ 12 октября 2018

Я работаю над созданием новой таблицы в моей базе данных.Я делал это раньше при создании других таблиц, но на этот раз я столкнулся с синтаксической ошибкой.Насколько я вижу, синтаксис правильный.Так что я не могу понять это.

Ниже приведен фрагмент кода оператора, который выдает ошибку:

cursor.execute('''
    CREATE TABLE IF NOT EXISTS order(
    orderID INTEGER PRIMARY KEY,
    productname STRING,
    productprice FLOAT,
    productquanitity INTEGER,
    producttotal INTEGER;''')

Это ошибка:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
  File "N:/NEW/cashregister.py", line 42, in okitem
    producttotal INTEGER;''')
sqlite3.OperationalError: near "order": syntax error

Я был бы признателен за некоторые предложения о том, почему это произошло.

1 Ответ

0 голосов
/ 12 октября 2018

order - зарезервированное ключевое слово в SQL;см. документацию для полного списка зарезервированных ключевых слов, которые SQLite использует .

Используйте "order", чтобы SQLite понял, что его следует интерпретировать как имя таблицы.Вы также забыли закрытие ):

CREATE TABLE IF NOT EXISTS "order" (
    orderID INTEGER PRIMARY KEY,
    productname STRING,
    productprice FLOAT,
    productquanitity INTEGER,
    producttotal INTEGER
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...