1.之前的写法(不报错):
data = cursor.fetchall()
data_name = data[0]['task_type']



2.简洁的写法(报错):
data = cursor.fetchall()[0]['task_type']

用 2 的写法报错之后,一度怀疑是数据库出了问题。不服气用pycharm 的watch功能进行调试,更是错上加错。

pymysql cursor.fetchall() 获取不到数据的问题

 

 

错误原因:

cursor.fetchall() 相当于从数据库取数据,但是取完就没有了,再下一行继续 cursor.fetchall(),取到的就只是空列表。他和变量不一样,不能重复查询,推荐第一种写法,将数据取出来之后,放到一个变量里,再进行处理。

用watch 功能更是添乱。

相关文章:

  • 2021-05-16
  • 2022-02-02
  • 2021-12-09
  • 2022-12-23
  • 2022-01-19
  • 2022-12-23
  • 2021-10-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-11-25
  • 2021-08-03
相关资源
相似解决方案