weixin_43405952 2023-06-11 19:16 采纳率: 83.3%
浏览 24
已结题

python中for循环和fetchall在数据库查询结果输出上有什么区别?


  p=cursor.execute(sql_dr)
  for pp1 in p:
       print(pp1)

for循环,我用它输出sqlite数据库查询的结果。

    cursor.execute(sql_dr)
    rq3.set(cursor.fetchall())

fetchall(),输出MySQL数据库查询的结果。
在原本的程序中我用的是sqlite,后来换成MySQL。在数据库查询结果输出上却完全不同,MySQL不能用第一段代码,这是为什么?

  • 写回答

3条回答 默认 最新

  • 喝茶品人生 2023-06-11 19:45
    关注

    因为MySQL和sqlite本质上都不一样,MySQL的查询结果返回的是一个游标对象,而不是一个可迭代对象,所以fetchall才适合。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月19日
  • 已采纳回答 6月11日
  • 创建了问题 6月11日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上