2016-11-24 139 views
1

我在python3中使用sqlite3。SQLITE创建语句错误

我的CREATE声明中是否有任何错误? c.execute("CREATE TABLE IF NOT EXISTS transaction(no INTEGER PRIMARY KEY AUTOINCREMENT, ic NONE, borrow INTEGER, timeIn NONE, timeOut NONE")

错误消息:sqlite3.OperationalError: near "transaction" : syntax error

回答

1

“事务” 是SQL保留字。如果你想使用它,你需要quote

... `transaction` (... 
+1

哦,我明白了。谢谢! – gcxh

1

正如Ignacio说,transaction要报价,存在丢失的右括号。
查询应该看起来像:

c.execute("CREATE TABLE IF NOT EXISTS 'transaction'(no INTEGER PRIMARY KEY AUTOINCREMENT, 
                ic NONE, borrow INTEGER, 
                timeIn NONE, 
                timeOut NONE)")