我如何在 PostgreSQL 中定义一个列,使每个值都必须在一个序列中,而不是使用 serial
类型时得到的序列,而是一个这样的序列,除非存在,否则不能插入值 2列中已有值 1?
最佳答案
我使用 PL/PgSQL 编写了一个无缝序列实现的详细示例 here .
一般的想法是您想要一个表来存储序列值,并且您使用 SELECT ... FOR UPDATE
后跟 UPDATE
- 或者简写 UPDATE ... RETURNING
- 在锁定行的同时从中获取值,直到您的事务提交或回滚。
关于sql - PostgreSQL 列值必须按顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988910/