我使用此代码检查我的sqlite数据库中是否存在给定的transactionid。
print((transaction.transactionid,))
print(type(transaction.transactionid))
c.execute("SELECT EXISTS(SELECT transactionid FROM Transactions WHERE transactionid=?);",
(transaction.transactionid,))
self.dbconn.commit()
transaction_exists, = c.fetchone()
print(transaction_exists)
在第二次迭代中总是失败并出现此错误:
文件" RtMetaMaster.py",第182行,在sync_ticket_to_db中 (transaction.transactionid,))sqlite3.InterfaceError:绑定参数0时出错 - 可能是不支持的类型。
输出打印报表:
('626007',)
<class 'str'>
0
('625952',)
<class 'str'>
Traceback (most recent call last):
[..]
File "RtMetaMaster.py", line 182, in sync_ticket_to_db
(transaction.transactionid,))
sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.
两次交易代码都是类型&#39; str&#39;但它第二次以某种方式失败了。还有哪些错误会导致&#34;错误绑定参数&#34;?
答案 0 :(得分:0)
我通过在每次c.execute调用后添加self.dbconn.commit()来解决它。对此可能有更好的解决方案。