python sqlite创建表语法错误

时间:2018-10-12 14:37:08

标签: python sqlite

我正在努力在数据库中创建一个新表。在创建其他表之前,我已经完成了此操作,但是这次我遇到语法错误。据我所见,语法是正确的。因此,我无法弄清楚。

下面,该语句的代码片段引发了错误:

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 :(得分:2)

order是SQL中的保留关键字;参见documentation for the full list of reserved keywords that SQLite uses

使用"order"使SQLite理解它将被解释为表名。您还忘记了结局)

CREATE TABLE IF NOT EXISTS "order" (
    orderID INTEGER PRIMARY KEY,
    productname STRING,
    productprice FLOAT,
    productquanitity INTEGER,
    producttotal INTEGER
)