这是一个非常简单的例子:
我有一个包含两列{@ 1}}和id
的表格。我想知道何时成功完成更新,并将成功定义为应用于现有行。
PHP似乎只提供password
,它不区分受影响的0行和更新的0行。 http://php.net/manual/en/function.mysql-affected-rows.php这很尴尬,因为返回值取决于事务处理时的行状态。在Postgresql中,您可以通过两种方式获取mysql_affeted_rows()
,将UPDATE foo SET bar = NULL
中的行更新返回;然而,foo
将通过限制更新来返回受影响的行数。
不要建议先前的UPDATE foo SET bar = NULL WHERE bar IS NOT NULL
或PHP计数器var,假设有一行。我想知道获取Pg功能的聪明方法,而不需要冗余查询。
答案 0 :(得分:1)
mysql_affected_rows
将始终返回UPDATE
更新的行数。
换句话说,如果给出相同的起始数据,它将为UPDATE foo SET bar = NULL
返回与UPDATE foo SET bar = NULL WHERE bar IS NOT NULL
相同的行数。
或者至少就是你在链接的手册页上记录的方式,在返回值标题下。
答案 1 :(得分:1)
mysqli函数num_rows是否符合您的需求?