我正在尝试找出最好的方法来检查我保存的值是否覆盖了数据库中的所有值。
很明显,我可以得到一条记录,比较数据,然后保存(如果有不同的话),但是我想知道是否有一种方法可以固有地知道何时完成保存?
我可以使用update-它会返回行受影响的值> 1,但是问题在于更新无法将db中的值更新为Go默认类型值(例如0),因此赢得了在这种情况下不起作用。
例如:
db.Table("object").Where("id = ?", obj).Save(obj)
log.Println(res.RowsAffected) // always equals 1
相比
res := db.Table("object").Where("id = ?", obj).Update(obj)
log.Println(res.RowsAffected) // equals 1 if updated
有什么想法吗?