我正在尝试在 postgresql 中创建一个表来保存用户工作项。每个工作项在整个系统中都有一个唯一的 ID,但对于该特定用户也将有一个友好的顺序 ID。
到目前为止,我一直在使用:
CREATE TABLE WorkItems
(
Id SERIAL NOT NULL PRIMARY KEY,
...
);
但我不知道如何为每个用户划分这个序列,也不知道如何用序列来做到这一点。
所以我想让用户看到连续的友好 ID
用户 1:ids = 1、2、3 等。 用户 2:ids = 1、2、3、4、5 等。
并且不必处理唯一 ID,但这些项目将具有 1-8 的唯一 ID。
我环顾四周,找不到有关此主题的任何帖子。也许很难指定和搜索?
我是否应该将 LastWorkIdUsed 存储在用户列中,然后为他们的项目手动创建一个友好的 ID?似乎我不必担心并发和事务。生成数字时,是否有一种简单的方法可以将每个用户的 LastWorkIdUsed 传递给 Postgresql?
或者有没有办法给用户分配一个序列?
也许我的基本设计理念是错误的。在 SQLServer 或 MySQL 中如何做到这一点?