Gorm: 我们如何知道更新是否成功?

创建于 2014-05-26  ·  3评论  ·  资料来源: go-gorm/gorm

使用 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)

所有3条评论

@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

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

corvinusy picture corvinusy  ·  3评论

izouxv picture izouxv  ·  3评论

Quentin-M picture Quentin-M  ·  3评论

hypertornado picture hypertornado  ·  3评论

youtwo123 picture youtwo123  ·  3评论