有没有办法弄清楚如果行已经更新postgres:golang

时间:2016-09-26 05:21:28

标签: postgresql go

我使用postgres作为我的数据库,https://github.com/lib/pq作为库。 我正在使用预准备声明

更新记录
stmt, _:= db.Prepare("UPDATE account set status='deleted' where id= $1")   
defer stmt.Close()
result, _:= stmt.Exec(accountId)
success, _:= result.RowsAffected()

我注意到,即使已经使用status = deleted更新查询更新了行,也总是返回success = 1。我们有什么办法可以区分已更新的行和尚未更新的行吗?

1 个答案:

答案 0 :(得分:3)

是的,只需检查行是否需要更新。

UPDATE account SET status='deleted' 
  WHERE id= $1 AND status <> 'deleted'