10bet网址
MySQL 5.6 C API开发指南
下载本手册
PDF(美国Ltr)- 1.1 mb
PDF (A4)- 1.1 mb


5.4.1之前mysql_affected_rows ()

mysql_affected_rows(MYSQL * MYSQL)

描述

mysql_affected_rows ()可以在执行语句后立即调用mysql_real_query ()mysql_query ().它返回最后一个语句更改、删除或插入的行数更新删除,或插入.为选择语句,mysql_affected_rows ()就像mysql_num_rows ()

更新语句中,受影响的行数默认为实际更改的行数。如果指定CLIENT_FOUND_ROWS旗帜mysql_real_connect ()连接到时mysqld,受影响的行数为行数发现;也就是说,与在哪里条款。

取代语句中,如果新行替换了旧行,则affected-rows值为2,因为在本例中,在删除副本之后插入了一行。

插入……重复密钥更新语句,如果将该行作为新行插入,则每行受影响的行值为1,如果更新了现有行,则为2,如果将现有行设置为当前值则为0。如果指定CLIENT_FOUND_ROWS标志,如果将现有行设置为当前值,则受影响的行值为1(而不是0)。

调用语句用于存储过程,mysql_affected_rows ()返回它将为过程中执行的最后一条语句返回的值,或0如果该语句返回-1.在该过程中,您可以使用ROW_COUNT (),以获取单个语句的受影响行值。

在MySQL 5.6,mysql_affected_rows ()为更广泛的语句返回有意义的值。具体操作请参见章节描述ROW_COUNT ()信息功能

返回值

大于零的整数表示受影响或检索的行数。0表示没有更新记录更新语句中,没有匹配的行在哪里子句,或者尚未执行任何查询。-1表示查询返回错误,或者对于选择查询mysql_affected_rows ()在打电话之前被打过吗mysql_store_result ()

因为mysql_affected_rows ()返回无符号值,您可以通过将返回值与进行比较来检查是否为-1(my_ulonglong) 1(或(my_ulonglong) ~ 0,两者相等)。

错误

一个也没有。

例子

char *stmt = "UPDATE products SET cost=cost*1.25 ";mysql_query (mysql,支撑);Printf ("%ld products updated", (long) mysql_affected_rows(&mysql));