Python sqlite3 创建表语法错误

2 投票
3 回答
2788 浏览
提问于 2025-04-16 22:45

每当我尝试用Python和sqlite3创建一个表格时,都会出现以下错误:

Traceback (most recent call last)
File "directory.py", line 14, in <module>
'Children' TEXT, 'Other' TEXT, 'Masul' TEXT);''')
sqlite3.OperationalError: near ")": syntax error

我创建表格的方式是:

conn.execute('''create table Jamaat
            (id integer primary key,
            Email TEXT, 
            LastName TEXT, 
            Address1 TEXT, 
            Apt TEXT,
             Address2 TEXT, 
             City TEXT,
              State TEXT,
               Zip TEXT, 
             HomePhone TEXT,
              FaxNumber TEXT,
               Primary TEXT,
                Spouse TEXT,
             Children TEXT,
              Other TEXT,
               Masul TEXT);''')
conn.commit()          

我使用的是Python 2.7,并且想把一个csv电子表格导入到sqlite3中。

提前谢谢你们!

补充说明:我试过去掉最后的逗号,但还是不行……

3 个回答

1

你的示例中缺少一个 ),而且因为错误出在你的SQL语句里,所以你最好把实际的执行语句写出来,而不是用 ... 代替。

不过我觉得你的错误是在列的列表末尾多了一个 ,

1

在闭合的括号前面有一个多余的逗号。

7

当你遇到这种错误时,通常是因为你把一些关键字当作列名(或者表名)来用了。

我看到你有一列叫做 primary
你需要在它周围加上反引号,或者给它换个名字,因为 在SQLite中这是一个关键字;比如:

...
`Primary` TEXT,
...

撰写回答