2013-07-12 48 views
3

我在python中使用sqlite3绑定,并且对它很新颖。当我的程序运行:如何获取有关我的OperationalError的更多信息

cursor.execute('INSERT OR IGNORE INTO UpdateTypes (name) VALUES (?), (?), (?), (?), (?)', 
    ('battery', 'missing', 'rssi', 'hear', 'status')) 

我得到如下:

sqlite3.OperationalError: near ",": syntax error 

这让我困惑,因为要考出来,我打开sqlite3自己的游戏数据库,并能够执行:

INSERT OR IGNORE INTO UpdateTypes (name) VALUES ('battery'), ('missing'), ('rssi'), ('hear'), ('status'); 

就好。

所以我需要弄明白这一点,并且对我所做的事情有什么问题的答案是值得欢迎的。

但我真的真的感兴趣,是如何得到更深入的信息,哪些是错的。例如,是否有一个sqlite3模块工具可以用来运行替代引擎来查看它正在构建的实际SQL是什么?

回答

1

在SQLite 3.7.11中添加了在单个INSERT语句中指定多个记录的功能。

您的sqlite3命令行工具足够新;包含在Python中的SQLite版本不是(检查SELECT sqlite_version();)。

+0

谢谢!根本没想过要检查。我仍然很好奇,如果有一种方法可以配置python模块来发送它发送到sqlite绑定的内容。 –

相关问题