【发布时间】:2019-02-07 10:04:45
【问题描述】:
在 PostgreSQL 中,我们可以将列定义为 SERIAL 以通过插入查询自动增加它。
这种自动递增可以通过作用域到另一个列值来实现吗?
我将用下面的例子来解释我的问题。
在多租户 SaaS 应用程序中,我们可能需要为每个用户帐户增加一列(比如项目表中的 item_id 列)。
示例:项目表
item_id | account_id
100 | 1
101 | 1
102 | 1
100 | 2
抱歉,表格格式不正确。我希望你对基本结构有所了解。
在上面的示例中,一旦新帐户(例如帐户 2)创建了新项目,item_id 序列计数应重新从头开始,即 100。
如果账户 1 中的用户删除 item_id 102 并创建新的项目记录,则 item_id 应设置为 103,依此类推。
我试图找到解决方案,但无法使用 Google 搜索找到指针。因此,我们将不胜感激任何帮助!
PS:我知道这可以通过后端代码处理,但我更想知道数据库是否有解决方案。
【问题讨论】: