我使用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。我们有什么办法可以区分已更新的行和尚未更新的行吗?
答案 0 :(得分:3)
是的,只需检查行是否需要更新。
UPDATE account SET status='deleted'
WHERE id= $1 AND status <> 'deleted'