gpt4 book ai didi

python - Mysql-Python 复杂查询导致空集

转载 作者:行者123 更新时间:2023-11-29 07:37:02 25 4
gpt4 key购买 nike

我们的脚本在过去 4 年里一直运行良好。它从 SugarCRM 应用程序中提取大量数据,然后打印一些报告。

我正在使用 Python-MySQLDB 来提取数据。

  db = mdb.connect('localhost', db_user, db_pass, db_name)
c = db.cursor()
statement = "
select a.email_address
, c.hits
, c.activity_date
, c.activity_type
from email_addresses a
, campaign_log c
, email_addr_bean_rel r
where c.target_id = r.bean_id
and r.email_address_id = a.id
and c.activity_type = 'targeted'
and c.campaign_id ='%s'
"%x
c.execute(statement)
rows = c.fetchall()

问题是 SQL 查询在 MySQL shell 和 phpmyadmin 上执行,并抛出正确的值作为结果。

但是在 python shell 上

>>rows
>>()

除了 SugarCRM 版本在几周前更新外,甚至在更新后一切都工作正常。

可能是什么问题?是不是新版本有一些InnoDB表?

我被难住了。欢迎任何指导。

编辑--我复制了一条在 mysql shell 和 phpmyadmin 窗口上都能正确执行的 SQL 查询语句,并运行它,结果是相同的。它显示一个空元组,并且没有可用的 SQL 记录。

我确信问题不是因为传递字符串,因为这似乎是每个人都建议的方向。

最佳答案

如果您的 SQL 查询需要参数“c.campaign_id ='%s'”,则应在“c.execute(statement)”中指定,例如:

c.execute(statement, (42))

关于python - Mysql-Python 复杂查询导致空集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com