【问题标题】:Django - Perform Raw SQL Update/Delete and return row countDjango - 执行原始 SQL 更新/删除并返回行数
【发布时间】:2010-11-01 14:34:06
【问题描述】:

在此处关闭文档:http://docs.djangoproject.com/en/dev/topics/db/sql/

>>>cursor = connection.cursor()
>>>cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
>>>print cursor.fetchone()
None

有人知道如何返回修改后的行数吗?

(注意:我已经玩过 transaction.commit_unless_managed() 和 cursor.fetchone()(也是 cursor.fetchall())的放置/顺序,它似乎没有什么区别)

谢谢! -汤姆

【问题讨论】:

    标签: django mysql


    【解决方案1】:

    示例中的 UPDATE 语句不返回行结果,因此 fetchone() 将始终为空(或可能引发错误)。

    使用cursor.rowcount 获取最后受影响的行。

    【讨论】:

      猜你喜欢
      • 2014-08-07
      • 2014-12-18
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 2023-03-15
      • 2017-02-25
      相关资源
      最近更新 更多