【问题标题】:Go: sql RowsAffected with ON DUPLICATE KEY UPDATEGo: sql RowsAffected with ON DUPLICATE KEY UPDATE
【发布时间】:2019-02-25 21:53:01
【问题描述】:

我很难找到一些合适的文档来描述 RowsAffected 值的语义:

RowsAffected 返回受更新、插入或删除影响的行数。并非每个数据库或数据库驱动程序都支持这一点。

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

服务器是一个 MySql 服务器 Ver 8.0.12 for osx10.13 on x86_64

【问题讨论】:

    标签: mysql go


    【解决方案1】:

    mysql_affected_rows()相当于SQL函数ROW_COUNT()

    对于INSERT .. ON DUPLICATE KEY UPDATE,文档指出:

    对于INSERT ... ON DUPLICATE KEY UPDATE 语句,受影响的行 如果将行作为新行插入,则每行的值为 1,如果插入新行,则为 2 现有行被更新,如果现有行被设置为它,则为 0 当前值。如果您指定 CLIENT_FOUND_ROWS 标志,则 如果现有行设置为 当前值。

    【讨论】:

    • 非常感谢,确实不确定是一对一的,所以没有检查mysql文档。谢谢!
    猜你喜欢
    • 2023-02-06
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 2017-06-12
    • 2011-02-12
    • 2019-02-12
    • 2014-03-10
    相关资源
    最近更新 更多