2016-11-24 140 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)")