2012-04-11 3 views
6

Variationen dieser Frage wurde auf SO und in vielen Blogs gestellt, aber keine bietet eine direkte Antwort. Ich hoffe, es gibt einen. Ich bin die Aktualisierung von PostgreSQL 9.0 (von CodeIgniter, PHP-Framework):Anzahl der Zeilen, die von einem UPDATE in PostgreSQL betroffen sind

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

Ich brauche einfach eine Anzahl von Zeilen, die von dem Update betroffen waren, aber es scheint keine Möglichkeit, dies mit PostgreSQL zu tun. Die Abfrage gibt jetzt einen booleschen Wert zurück - true. Das Handbuch und das Web-Talk beziehen sich auf die RETURNING-Syntax, auf GET DIAGNOSTICS, und auf einen Standardrückgabetyp von UPDATE. Ich konnte nichts davon zur Arbeit bringen. Gibt es eine einfache Möglichkeit, Zeilenanzahl zu erhalten, ohne diese einfache Operation in eine Prozedur oder Transaktion einbetten zu müssen.

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

In PHP Ich glaube pg_affected_rows ist die Art und Weise:

+0

In welcher Sprache arbeiten Sie? PHP? Ist dieser Teil eines Skripts innerhalb einer PostgreSQL-Funktion wie PL/php: http://www.commandprompt.com/community/plphp/ oder ein externer PHP-Interpreter, der sich mit PostgreSQL verbindet? – kgrittn

Antwort

Verwandte Themen