我使用以下查询从sqlite数据集中更新列
rig_json = json.dumps(json.loads(f.read()))
query = """UPDATE session_rigs SET rig = '{}' WHERE session = '{}'""".format(rig_json, session)
rig
列的数据类型是TEXT
,因此我必须加载JSON文件并将其转换为字符串。但是这个查询给了我一些错误:
sqlite3.OperationalError: near "purged_parameter": syntax error
我试过这样的方法:
query = """UPDATE session_rigs SET rig = '{}' WHERE session = '{}'""".format({"a":"b"}, session)
而且效果很好
你几乎肯定有报价问题。字符串包含单引号,这会把事情搞砸。这就是为什么不应该使用Python字符串格式来构建查询。让SQLite来修复它
还要注意
json.dumps(json.loads(xxx))
是愚蠢的。要传递这个消息,首先必须是有效的JSON。只要读字符串相关问题 更多 >
编程相关推荐