Python MySqlDB store_result仅返回一行

奥斯卡奖

我正在使用MySqlDB执行字典中的许多查询,我的问题是store_result()仅返回了我不想获取的统计数据之一。这给我一个问题的查询:

SELECT value, COUNT(1) \
                FROM ourson_offerattributes oa \
                WHERE attribute_id='status_ltu_indexer' \
                GROUP BY \
                    CASE \
                        WHEN oa.value='OK'                  THEN '0' \
                        WHEN oa.value='ERROR_DOWNLOAD'      THEN '1' \
                        WHEN oa.value='ERROR_LTU'           THEN '2' \
                    ELSE NULL \
                END

在我的python代码中,我像这样执行它:

db = sql.connect(**dbParams)
for query in QUERIES:
    db.query(QUERIES[query])
    result = db.store_result().fetch_row(how=1)

当我打印响应时,我想得到这样的东西:

({'COUNT(1)': 8932327L, 'value': 'OK'}, 
{'COUNT(1)': 526L, 'value': 'ERROR_DOWNLOAD'}, 
{'COUNT(1)': 14944L, 'value': 'ERROR_LTU'})

取而代之的是,它只给我第一行:

({'COUNT(1)': 8932327L, 'value': 'OK'},)
德语

fetch_row默认情况下,返回单行。试试这个:

result = db.store_result().fetch_row(how=1, maxrows=0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章