postgresql要替换mongo实现findAndUpdate和findAndReplace功能返回更新之前的状态
在 PostgreSQL 中,可以使用以下两种方法替代 MongoDB 的 findAndUpdate 和 findAndReplace 功能,并返回更新之前的状态:
- 使用
RETURNING子句:
UPDATE table_name
SET column1 = new_value1, column2 = new_value2, ...
WHERE condition
RETURNING *;
在上述语句中,table_name 是要更新的表名,column1, column2, ... 是要更新的列名和对应的新值。WHERE 子句用于指定更新的条件。RETURNING * 用于返回更新之前的所有列数据。
- 使用
WITH子句和临时表:
WITH updated_rows AS (
UPDATE table_name
SET column1 = new_value1, column2 = new_value2, ...
WHERE condition
RETURNING *
)
SELECT * FROM updated_rows;
在上述语句中,table_name 是要更新的表名,column1, column2, ... 是要更新的列名和对应的新值。WHERE 子句用于指定更新的条件。WITH 子句创建一个临时表 updated_rows,其中包含更新之前的所有列数据。最后,通过 SELECT * FROM updated_rows 返回更新之前的状态。
请根据具体的表名、列名和条件进行相应的替换和调整
原文地址: https://www.cveoy.top/t/topic/hIET 著作权归作者所有。请勿转载和采集!