我的Python程序中有这段代码:
sql_statements = [
"""CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
name TEXT NOT NULL,
password_hash TEXT NOT NULL,
status BOOLEAN NOT NULL DEFAULT FALSE,
admin BOOLEAN NOT NULL DEFAULT FALSE
);"""
]
with sqlite3.connect(database_filename) as db:
cursor = db.cursor()
for statement in sql_statements:
cursor.execute(statement)
db.commit()
但是,当我尝试运行它时,我收到此错误:
File "/Users/elijahyajaman/memberize/app.py", line 14, in <module>
cursor.execute(statement)
sqlite3.OperationalError: near "AUTOINCREMENT": syntax error
我首先尝试运行python程序,并收到上述错误。直接在sqlite3中运行语句成功。我拥有所有必需的进口。
根据文档:https://www.sqlite.org/faq.html#q1 使用
INTEGER PRIMARY KEY
或 INTEGER PRIMARY KEY AUTOINCREMENT
列。