简体   繁体   English

如果不存在sqlite3,则会发生错误

[英]Error in IF NOT EXISTS sqlite3

I'm just trying out some Python3-sqlite3 code when the following error occured 当发生以下错误时,我只是在尝试一些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()

I get the error 我得到错误

Traceback (most recent call last): File "db.py", line 4, in conn.execute('''CREATE TABLE SCHEDULER IF NOT EXISTS(SNO INTEGER PRIMARY KEY AUTOINCREMENT, STRTIME TEXT, ENDTIME TEXT, MODE TEXT)''') sqlite3.OperationalError: near "IF": syntax error 追溯(最近一次通话):文件“ db.py”,第4行,conn.execute('''''如果不存在则创建表调度程序(SNO整数主键自动递增,STRTIME文本,ENDTIME文本,MODE TEXT)'' ')sqlite3.OperationalError:“ IF”附近:语法错误

The IF NOT EXISTS must come earlier, like this: IF NOT EXISTS必须先出现,例如:

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

If this still doesn't work, then your SQLite version is really old (older than version 3.3.0). 如果这仍然不起作用,则说明您的SQLite版本确实较旧(比3.3.0版本旧)。

SCHEDULER是您的表的名称,它必须用引号括起来,例如“ SCHEDULER”

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM