我正在尝试向sqlite3数据库添加值,我得到一个错误sqlite3.InterfaceError: Error binding parameter 1 - probably unsupported type
。我知道错误在第二个参数中,它是一个字典。在python中我有这个结构:
db = sqlite3.connect('db.db')
cur = db.cursor()
cur.execute('''CREATE TABLE IF NOT EXISTS stickers_places (weapon_name TEXT, stickers BLOB)''')
cur.executemany('INSERT INTO stickers_places VALUES (weapon_name, stickers)', stickers_places)
db.commit()
db.close()
字典看起来像这样:
stickers_places = [
('AK-47', {
0: 'normal',
1: 'bad',
2: 'normal',
3: 'top',
}),
('M4A4', {
0: 'normal',
1: 'normal',
2: 'top',
3: 'bad',
}),
...
]
我到底做错了什么。谢谢您的帮助
尝试将字典转换为字符串,从字符串中获取字节(因为这是B LOB)并放置它们
也这样觉得:
顺便说一句,
json键只能是字符串,所以字典的键将不再是数字,如果这很重要,那么你可以str从字典中制作一个字符串,并通过 解析ast。