如何确保字段值永远不会再次使用,即使它被删除了?

时间:2015-09-16 16:52:06

标签: postgresql unique primary-key sql-delete

我使用postgres,我需要辅助密钥或类似的概念。我充分利用id字段的主键。除了主键之外,我还会生成一个有用的会话ID'例如' OH-15-001'。

我想确保,即使被数据库销毁,上述二级密钥也只使用一次。我已经创建了一个算法来生成这些id,但我不希望将它们保存在另一个表中。我想知道Postgres中是否有一项功能可以确保该字段是唯一的,即使它被删除了? (类似于id字段)

1 个答案:

答案 0 :(得分:0)

PRIMARY KEY无法确保删除以前的值的唯一性。如果从序列生成它们,您将始终获得一个新的唯一ID,但没有任何东西阻止您手动插入具有先前已删除ID的记录。

您可以使用序列作为ID生成算法的一部分吗? (加上UNIQUE约束的行为与主键完全相同)