使用 postgres 适配器,我们如何知道更新是否成功?
update users set email='[email protected] ' where id=2 (即db.Table("users").Where(2).Updates(map))
如果 id=2 不存在,那么 postgres 将返回“UPDATE 0”。
我会认为任何在更新语句中使用不存在的 id 的客户端都是错误的。 我想将此错误发送回客户端。
有没有办法知道使用gorm进行更新的更新行数? 如果更新的行数为 0(并且客户端使用了一个 id 来更新),那么我们可以发回一个错误。
嗨@satb
感谢您的反馈,已经添加了此支持,您可以像这样获得受影响的列:
fmt.Println(db.Table("users").Where(2).Updates(map).RowsAffected)
@jinzhu嗨,如何检查受影响行的错误?
谢谢
Hi @satb
Thank you for your feedback, already added this support, you could get the affected columns like this:
fmt.Println(db.Table("users").Where(2).Updates(map).RowsAffected)
我按照你这个写法,还是不对,返回的值永远是 0
最有用的评论
嗨@satb
感谢您的反馈,已经添加了此支持,您可以像这样获得受影响的列: