我很难找到一些适当的文档来描述RowsAffected值的语义,而不是:
RowsAffected返回受更新,插入或删除影响的行数。并非每个数据库或数据库驱动程序都可以支持此功能。
我正在使用具有ON DUPLICATE KEY UPDATE的查询,并且更新后RowsAffected的值为2。是因为它减少了删除和插入的执行时间?
该服务器是x86_64上用于osx10.13的MySql服务器8.0.12版
答案 0 :(得分:1)
mysql_affected_rows()
等同于SQL函数ROW_COUNT()。
对于INSERT .. ON DUPLICATE KEY UPDATE
,文档说明:
对于
INSERT ... ON DUPLICATE KEY UPDATE
条语句,受影响的行 如果将行作为新行插入,则每行的值为1;如果为新行,则为2 现有行将更新,如果现有行设置为0,则更新为0 当前值。如果您指定CLIENT_FOUND_ROWS
标志,则 如果将现有行设置为1,则该行的影响值为1(而不是0) 当前值。