【问题标题】:Python, MySQL: Getting Null Inserts, but print() is giving value, and SQL is valid?Python,MySQL:获取空插入,但 print() 给出值,并且 SQL 有效?
【发布时间】:2014-05-05 04:59:29
【问题描述】:

在以下代码中:

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)

值未转移。

我做错了什么?

【问题讨论】:

    标签: python mysql sql


    【解决方案1】:

    假设您使用的是 MySQLdb 模块,如果 autocommit() 为 False(默认),则需要 commit() 查询。

    见this。

    编辑#1:

    然后授予查询正在成功执行。您是否尝试过通过 phpMyAdmin 执行该查询?它是否按预期工作?

    我注意到您的更新查询中有一个 AND 而不是逗号 (','):

    你有这个:

    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)
    

    【讨论】:

    • 是的——很早就遇到了这个问题,但我的代码中有 commit()。将编辑我的帖子以显示 [但是是的...许多人中的定义问题]
    • 修复了它。呵呵...语法:\ ..非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 2011-07-16
    • 1970-01-01
    相关资源
    最近更新 更多