ユーザーの作業項目を保持するために postgresql にテーブルを作成しようとしています。各作業項目はシステム全体で一意の ID を持ちますが、その特定のユーザーのわかりやすい連続 ID も持ちます。
これまでのところ、私はちょうど使用しています:
CREATE TABLE WorkItems
(
Id SERIAL NOT NULL PRIMARY KEY,
...
);
しかし、このシリアルをユーザーごとに区分する方法も、シーケンスでそれを行う方法もわかりません。
だから私はユーザーが連続したFriendly Idを見てほしい
ユーザー 1: ID = 1、2、3 など。 ユーザー 2: ID = 1、2、3、4、5 など。
一意の ID を処理する必要はありませんが、これらのアイテムには 1 ~ 8 の一意の ID があります。
私はかなり見回しましたが、このトピックに関する投稿は見つかりません。たぶん、指定して検索するのが難しいだけですか?
LastWorkIdUsed をユーザー列に保存してから、アイテムのフレンドリ ID を手動で作成する必要がありますか? その場合、並行性とトランザクションについて不必要に心配する必要があるようです。数値を生成するときに、ユーザーごとに LastWorkIdUsed を Postgresql に渡す簡単な方法はありますか?
または、シーケンスをユーザーに割り当てる方法はありますか?
おそらく、基本的な設計思想が間違っているのでしょう。SQLServerまたはMySQLでもこれを行うにはどうすればよいですか?