有人用过pymysql么?遇到个问题

这种方式可以取出mysql的数据:
self.cursor.execute('call uuidproc(@uuid)')
self.cursor.execute('select @uuid')
r = self.cursor.fetchall()
uuid = r[0][0]

但是这样却不能:
self.cursor.execute('call uuidproc(@uuid);select @uuid;')
r = self.cursor.fetchall()
uuid = r[0][0]

请高人帮忙解答一下。

阅读 5.3k
2 个回答

因为self.cursor.execute的时候,已经将结果集赋值给了self的一些属性,在赋值的时候执行了检测,self.cursor.execute('call uuidproc(@uuid);select @uuid;')这样做相当于只执行了
call uuidproc(@uuid)

新手上路,请多包涵

cursor = link.cursor(cursor=pymysql.cursors.DictCursor)

        cursor.callproc("puid",args=(o,onlyid,csvfile[-3],111))
        cursor.execute('select @_puid_3')
        result = cursor.fetchall()
        results =result[0]['@_puid_3']
        我是这样执行完存储过程后获取返回值的
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题