SQLITE创建语句错误

时间:2016-11-24 02:35:41

标签: python python-3.x sqlite

我在python3中使用sqlite3。

下面显示的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

2 个答案:

答案 0 :(得分:1)

“transaction”是SQL中的保留字。如果你想使用它,你需要quote

... `transaction` (...

答案 1 :(得分:1)

正如Ignacio所说,transaction应引用,并且右括号缺失。
查询应如下所示:

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