我想知道在执行更新时,如果数据库中不存在该行记录,是否有办法返回错误信息。
update users set email='aa@bb.com' where id=200
如果用户表中没有id为200的用户,那么Postgres只会返回“UPDATE 0”。然而,我想知道是否可以得到一个错误提示。这样一来,我就不需要向数据库发出两个请求,一次用于检查存在性,一次用于更新。如果我们分开进行操作,则还可能存在检查存在性和发出更新之间的竞争条件。
我为什么需要一个错误提示?很简单——让客户端知道他们使用了无效的用户ID,并采取纠正措施。