sqlite新手并且语法有问题。
我需要遍历字典的每个键并将dict [key]插入到与字典键同名的列中。如果它有任何区别,dict [' Url']包含主键,并且所有行都已创建。
到目前为止,我认为我已经目睹了所有可能的OperationalError。
for key in merged_dict:
cur.execute("INSERT INTO Games VALUES (?,?)", (key, merged_dict[key]))
答案 0 :(得分:3)
您可以为所有插入使用命名参数:
cur.execute("INSERT INTO GAMES (key1, key2, key3, key4) VALUES (:key1, :key2, :key3, :key4)",
merged_dict)
这将从字典中按名称获取参数,但这些键 do 必须存在。要支持可能不存在的密钥(将密码默认为NULL
),请使用defaultdict
object来使用None
来删除密钥:
from collections import defaultdict
params = defaultdict(lambda: None, merged_dict)
cur.execute("INSERT INTO GAMES (key1, key2, key3, key4) VALUES (:key1, :key2, :key3, :key4)",
params)