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

ted*_*uss 6 postgresql

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

$sql_order = "UPDATE meters SET billed=true"; 
$query = $this->db->query($sql_order);
Run Code Online (Sandbox Code Playgroud)

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

Ano*_*ous 8

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

Statement stmt = connection.createStatement();
int rowsAffected = stmt.executeUpdate("UPDATE ...");
Run Code Online (Sandbox Code Playgroud)

在PHP中我相信pg_affected_rows是这样的.在你的特殊情况下$this->db->affected_rows()