在以下代码中:
print(str(processedEmails))
print(campaignId)
返回我期望的值。
我要做的(为什么要运行print()语句来检查):
cursor.execute('UPDATE campaigns SET campaign_finish_date = (NOW()) AND queue_size =' + str(processedEmails) + ' WHERE id=' + campaignId)
通过phpMyAdmin检查:
NOW() = 0000-00-00 00:00:00.000000
campaignId = 0 (what I set as default)
未传输值。
我做错什么了?
最佳答案
假设您使用的是MySQLdb模块,如果autocommit()为False(默认值),则需要提交()查询。
见this。
编辑1:
然后授予查询正在成功执行。您尝试过通过phpMyAdmin执行该查询吗?它是否按预期工作?
我注意到更新查询中有一个逗号(','),而不是一个逗号:
你有这个:
cursor.execute('UPDATE campaigns SET campaign_finish_date = (NOW()) AND queue_size =' + str(processedEmails) + ' WHERE id=' + campaignId)
而不是这个:
cursor.execute('UPDATE campaigns SET campaign_finish_date = (NOW()), queue_size =' + str(processedEmails) + ' WHERE id=' + campaignId)