Python sqlite3创建表语法错误

时间:2011-08-02 21:15:38

标签: python sqlite

每当我尝试使用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 个答案:

答案 0 :(得分:6)

通常,当您收到此类错误时,这是​​因为您使用关键字作为列(或表)名称。

我看到您有一个名为primary的列 您需要在其周围添加反引号或重命名它,因为it is a keyword in SQLite; e.g:

...
`Primary` TEXT,
...

答案 1 :(得分:1)

在右括号之前有一个尾随的“,”。

答案 2 :(得分:1)

您的示例中缺少),并且由于错误发生在您的SQL中,您可能应该包含实际的执行语句而不是...

但我会说你的错误是列列表末尾的,

相关问题