zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Gorm Update 返回的影响条数不正确问题

2023-03-20 14:49:34 时间

Gorm 连接 mysql 使用的是 github.com/go-sql-driver/mysql 驱动, 但是这个驱动中 clientFoundRows 默认是 false, 也就是说返回的影响条数是实际的影响条数, 而不是匹配的条数, 也就是说如果要修改的数据和表中数据一样, 就不会返回影响条数, 这和 mysql 官方不一致

mysql 官方 useAffectedRows 默认值是 false, 对应底层 CLIENT_FOUND_ROWS 值是true, 是开启的

所以在业务中有就更新记录, 没有就插入记录的业务, 使用 gorm 就需要配置 clientFoundRows 为 true