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

mysql.connector fetchall()未返回全部数据的问题求助

MySQL Connector 查询结果行数异常问题排查及替代方案

问题现象

我工作中一直使用mysql.connector操作MySQL,近期发现它无法稳定返回所有查询结果。

执行以下查询代码:

sql = """SELECT cp.location, cpt.created_ts, cpt.amount FROM 
         customer_plan_transactions cpt
        JOIN customer_plans cp on cp.id = cpt.customer_plan_id
        WHERE cpt.created_ts like "2022-09%" """

cursor = my_db.cursor()
cursor.execute(sql)
rows = cursor.fetchall()
print(len(rows))

得到的结果是:

4395

但在phpMyAdmin中执行完全相同的SQL查询,返回的结果行数远大于该数值。

诡异的临时解决情况

调整SELECT语句中的字段顺序后,竟然能获取到预期的全部数据:

sql = """SELECT cpt.created_ts, cp.location, cpt.amount FROM customer_plan_transactions cpt
        JOIN customer_plans cp on cp.id = cpt.customer_plan_id
        WHERE cpt.created_ts between "2022-09-01" and "2022-10-01" """

cursor = jax_uc.cursor()
cursor.execute(sql)
rows = cursor.fetchall()
print(len(rows))

得到的结果是:

63140

求助问题

这应该是mysql.connector的bug吗?有没有可行的排查思路?另外有哪些可替代的Python MySQL库?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:01:23