UPDATE 是用于更新表中一个或多个行的 DML 命令。
UPDATE 始终存在于 PostgreSQL 中。
变更历史
- PostgreSQL 18
- 在
RETURNING子句中添加了对OLD/NEW的支持 (提交 80feb727)
- 在
- PostgreSQL 9.5
- 添加了
UPDATE tab SET (col1,col2,...) = (SELECT ...), ...语法 (提交 8f889b10)
- 添加了
- PostgreSQL 9.1
- PostgreSQL 8.3
- 添加了
WHERE CURRENT OF语法(提交 6808f1b1)cursor_name
- 添加了
- PostgreSQL 8.2
- PostgreSQL 7.4
- 添加了
UPDATE ... SET col = DEFAULT语法 (提交 53c4f123)
- 添加了
示例
UPDATE 的基本用法示例
postgres=# CREATE TABLE foo (id INT, val TEXT); CREATE TABLE postgres=# INSERT INTO foo VALUES (1, 'foo'); INSERT 0 1 postgres=# UPDATE foo SET val = 'bar' WHERE id = 1; UPDATE 1
