在PostgreSQL中获取受UPDATE影响的行数

时间:2012-04-11 20:47:13

标签: postgresql

这个问题的变化已经在SO和许多博客上被提出,但没有一个提供直截了当的答案。我希望有一个。 我正在更新PostgreSQL 9.0(来自CodeIgniter,PHP框架):

$sql_order = "UPDATE meters SET billed=true"; 
$query = $this->db->query($sql_order);

我只需要一些受更新影响的行数,但似乎没有办法用PostgreSQL做到这一点。查询现在返回一个布尔值 - true。 手册和网络对话参考RETURNING语法,GET DIAGNOSTICSUPDATE的默认返回类型。我无法让任何这些工作。 有没有一种直接的方法来获取行影响计数,而无需将这个简单的操作嵌入到过程或事务中。

1 个答案:

答案 0 :(得分:8)

在Java中我会使用以下内容:

Statement stmt = connection.createStatement();
int rowsAffected = stmt.executeUpdate("UPDATE ...");

在PHP中,我相信pg_affected_rows就是这样。在您的特定情况下$this->db->affected_rows()