如何在Python中修复SQLite中的语法错误

时间:2019-02-15 07:36:39

标签: python python-3.x sqlite

我已经完成了一些SQLite表的创建并正在执行说明。执行指令时,出现以下错误:

sqlite3.OperationalError: near "Category": syntax error

我的大多数表都使用相同的格式,下面是一个这样的表的示例。

CategoryTableSQL = """ CREATE TABLE IF NOT EXISTS Category(
                            CategoryID integer PRIMARY KEY AUTOINCREMENT
                            Category text NOT NULL
                        );"""
databaseNewTable(Connection, CategoryTableSQL)

2 个答案:

答案 0 :(得分:2)

您忘记了SQL语句中表字段的声明之间的逗号:应该是这样的。始终使用逗号分隔字段创建语句。当然,对于最后一个字段,您将创建=)。另外,在将您的字段命名为与表相同的名称时,我会格外小心。为了防止混乱。只是我的两分钱

 CREATE TABLE IF NOT EXISTS Category(
                            CategoryID integer PRIMARY KEY AUTOINCREMENT,
                            Category text NOT NULL
                        );

答案 1 :(得分:0)

我认为,您只需要在AUTOINCREMENT单词后添加','符号即可。 :-) 像这样:

CategoryTableSQL = """ CREATE TABLE IF NOT EXISTS Category(
                        CategoryID integer PRIMARY KEY AUTOINCREMENT,
                        Category text NOT NULL
                    );"""
databaseNewTable(Connection, CategoryTableSQL)