执行:sql行受ON DUPLICATE KEY UPDATE影响

时间:2019-02-25 13:39:08

标签: mysql go

我很难找到一些适当的文档来描述RowsAffected值的语义,而不是:

  

RowsAffected返回受更新,插入或删除影响的行数。并非每个数据库或数据库驱动程序都可以支持此功能。

我正在使用具有ON DUPLICATE KEY UPDATE的查询,并且更新后RowsAffected的值为2。是因为它减少了删除和插入的执行时间?

该服务器是x86_64上用于osx10.13的MySql服务器8.0.12版

1 个答案:

答案 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)   当前值。