使用pymysql遇到报错:An error occurred: execute() first

原始文本如下:

 try:
	 with connection.cursor() as cursor:
	      # SQL查询语句
	      # 根据 last_id 构建SQL查询语句  
	      if last_id == 0:  
	          # 如果没有读取过数据,从第一条开始  
	          # print(last_id)
	          sql = "SELECT * FROM phrase01 ORDER BY id ASC LIMIT 1"  
	          
	      else:  
	          # 否则,从上次读取的ID的下一行开始  
	          sql = "SELECT * FROM phrase01 WHERE id > %s ORDER BY id ASC LIMIT 1"  
	          cursor.execute(sql, (last_id,))  

运行后会报错:
An error occurred: execute() first
参考https://blog.csdn.net/itguangzhi/article/details/82381743这篇文章,在第一个sql语句下面补充了内容,解决该问题,以下是修改后代码:

try:
    with connection.cursor() as cursor:
        # SQL查询语句
        # 根据 last_id 构建SQL查询语句 
        if last_id == 0:  
            # 如果没有读取过数据,从第一条开始  
            # print(last_id)
            sql = "SELECT * FROM phrase01 ORDER BY id ASC LIMIT 1"  
            cursor.execute(sql)#注意这句必须要有,否则会报错:An error occurred: execute() first
        else:  
            # 否则,从上次读取的ID的下一行开始  
            sql = "SELECT * FROM phrase01 WHERE id > %s ORDER BY id ASC LIMIT 1"  
            cursor.execute(sql, (last_id,))  

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值