6

この質問のバリエーションは、SOや多くのブログで質問されていますが、簡単な答えを提供するものはありません。あるといいのですが。PostgreSQL 9.0を更新しています(CodeIgniter、PHPフレームワークから):

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

更新の影響を受けた行の数が必要なだけですが、PostgreSQLでこれを行う方法はないようです。クエリはブール値--trueを返します。マニュアルとWebトークでは、RETURNING構文、、、GET DIAGNOSTICSおよびからのデフォルトの戻り型を参照していますUPDATE。私はこれらのどれも機能させることができませんでした。この単純な操作をプロシージャまたはトランザクションに組み込むことなく、行がカウントに影響を与えるようにする簡単な方法はありますか?

4

1 に答える 1

8

Javaでは、次のものを使用していました。

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

PHPではそれpg_affected_rowsが方法だと思います。そしてあなたの特定の場合$this->db->affected_rows()

于 2012-04-11T20:54:33.660 に答える