IF NOT EXISTS sqlite3出错

时间:2017-07-19 14:12:08

标签: python-3.x sqlite

我在发生以下错误时尝试了一些Python3-sqlite3代码

import sqlite3
conn=sqlite3.connect("../db/mydb.db")
conn.execute('''CREATE TABLE SCHEDULER IF NOT EXISTS (SNO INTEGER PRIMARY KEY AUTOINCREMENT, STRTIME TEXT, ENDTIME TEXT, MODE TEXT)''')
conn.execute('''INSERT INTO SCHEDULER VALUES (1, 'XXXX', 'XXXX', 'MODE')''')
conn.close()

我收到错误

  

追踪(最近一次通话):     文件" db.py",第4行,in       conn.execute('''''创建表调度程序,如果不存在(SNO INTEGER PRIMARY KEY AUTOINCREMENT,STRTIME TEXT,ENDTIME TEXT,MODE TEXT)''' )   sqlite3.OperationalError:near" IF":语法错误

2 个答案:

答案 0 :(得分:1)

IF NOT EXISTS必须提前,如下所示:

CREATE TABLE IF NOT EXISTS SCHEDULER  (SNO INTEGER PRIMARY KEY AUTOINCREMENT, STRTIME TEXT, ENDTIME TEXT, MODE TEXT);

如果这仍然不起作用,那么您的SQLite版本真的旧版本(早于版本3.3.0)。

答案 1 :(得分:0)

SCHEDULER是你的表的名字,它需要引用如“SCHEDULER”IF