You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sqlite3执行SELECT *查询未返回结果列表全部数据该如何解决?

SQLite3查询返回不完整结果的解决方案
  • cursor.execute()执行查询后返回的是可迭代游标对象,不会直接返回全量查询结果。如需一次性获取所有匹配数据,需要调用fetchall()方法,修正后的代码如下:
import sqlite3
miConexion = sqlite3.connect("MAGGIES")
miCursor = miConexion.cursor()
miCursor.execute("SELECT * FROM BEBIDAS")
# 调用fetchall获取全部查询结果
datos = miCursor.fetchall()
  • 排查未提交的事务:如果有其他连接对BEBIDAS表做过增删改操作但未执行commit()提交,当前连接无法读取到未提交的新增数据,需要在写入操作执行后调用miConexion.commit()提交事务。
  • 核对实际数据量:在sqlite命令行工具中执行SELECT COUNT(*) FROM BEBIDAS确认表内实际数据行数,和代码获取到的结果行数做对比,排除表本身数据不全的问题。
  • 注意游标耗尽问题:游标对象仅支持单次遍历,如果你已经对返回的游标对象做过一次遍历,再次遍历不会返回任何数据,这种情况需要重新执行查询,或者首次获取结果时就将数据存入列表持久化存储。

内容的提问来源于stack exchange,提问作者NachoCorEsp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:15:04