python编程运行不了_编程错误:(2014,“命令不同步;您现在不能运行此命令”)...

本文探讨了在多线程环境下,如何处理数据库查询可能返回空值引发的ProgrammingError,以及如何在不关闭连接的情况下管理空指针查询和数据插入。作者提供了Python代码示例,涉及异常处理和并发操作的技巧。
摘要由CSDN通过智能技术生成

我试图对数据库进行两次调用,调用是多线程的。然而,有时第一个调用数据可能是空的,因此它会得到一个错误:ProgrammingError:(2014,“Commands out-out-sync;you cannot run this command now”)

当我调用第二个查询时。有没有办法在不关闭数据库连接的情况下清除光标?在# CHECK IF NO RECORD IN DATABASE OF SKU

try:

cursor.execute('SELECT * FROM `amazon` inner join `ebay` on amazon.ASIN=ebay.SKU WHERE `ASIN` = "%s"' % (sku))

data = cursor.fetchall()

except Exception as ee:

conn.rollback()

data = None

print "Ebay error", ee

# IF NO RECORD ADD EVERYTHING

if not data:

try:

print "Inserting into ebay table: " + str((sku, float(price), int(quantity), itemID, float(cp_price)))

cursor.execute('INSERT INTO ebay VALUES ("%s", %.2f, %.2f, %s, %.2f, %s)' % (sku, float(price), int(quantity), itemID, float(cp_price), True))

conn.commit()

except Exception as ee:

print('DB insert error', ee)

i += 1

continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值