SQLite3.OperationalError语法错误求助:创建数据库时near")"报错
解决sqlite3.OperationalError: near ")": syntax error错误
问题出在schema.sql文件的entries表创建语句中,最后一行的外键声明末尾多了一个多余的逗号,导致SQLite解析时触发语法错误。
错误代码片段:
CREATE TABLE entries ( id INTEGER PRIMARY KEY AUTOINCREMENT, stockname TEXT NOT NULL, partnum TEXT NOT NULL, company TEXT NOT NULL, quantity INTEGER NOT NULL, uom TEXT NOT NULL, date_recorded NOT NULL DEFAULT CURRENT_TIMESTAMP, remarks TEXT NULL, FOREIGN KEY(id) REFERENCES users(id), );
修改后的正确代码:
CREATE TABLE entries ( id INTEGER PRIMARY KEY AUTOINCREMENT, stockname TEXT NOT NULL, partnum TEXT NOT NULL, company TEXT NOT NULL, quantity INTEGER NOT NULL, uom TEXT NOT NULL, date_recorded NOT NULL DEFAULT CURRENT_TIMESTAMP, remarks TEXT NULL, FOREIGN KEY(id) REFERENCES users(id) );
修改完成后,删除现有的database.db文件,重新运行init_db.py即可正常生成数据库并插入数据。
内容的提问来源于stack exchange,提问作者gyooks
相关产品推荐
相关产品推荐

