我在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是什么?
答案 0 :(得分:1)
在SQLite 3.7.11中添加了在单个INSERT
语句中指定多个记录的功能。
您的sqlite3
命令行工具已足够新; Python中包含的SQLite版本不是(检查SELECT sqlite_version();
)。