3

我在 python 中使用 sqlite3 绑定,并且对它很新。当我的程序运行时:

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 是什么?

4

1 回答 1

1

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

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

于 2013-07-13T08:43:41.323 回答