示例
示例
UPDATE documents
SET content = '...', version = version + 1
WHERE id = 42 AND version = 7;
-- 影响行数 1:成功;0:版本冲突,重新读取后再试| 读取 | SELECT 时记住 version(或 updated_at/xmin) |
|---|---|
| 更新 | WHERE 带旧版本号 + SET version+1 |
| 判定 | row count 0 即冲突;配合重试或提示用户 |
PostgreSQL 也可用系统列 xmin 作版本:UPDATE ... WHERE xmin::text = '…',省一个业务列但要理解 MVCC 语义。