提问人:Jaydeep Patel 提问时间:4/15/2021 更新时间:4/15/2021 访问量:30
在这种情况下可以使用序列生成器吗?
Is it possible to use sequence generator in this situation?
问:
我有下表结构
ITEM
| ID(Auto Inc) | ORG_ID(FK to ORG) | ITEM_ID |
|-----------------|----------------------|-----------------------|
| 1 | 1 | 1 (Initial Val for A) |
| 1 | 2 | 1 (Initial Val for B) |
| 1 | 1 | 2 (Incremented for A) |
ORG
| ID | NAME |
|------|-----------|
| 1 | A |
| 2 | B |
是否有任何可能使用任何生成器来管理item_id列。这不是 ITEM 表的 id 列。业务需求是按顺序管理item_id每个组织。
答:
0赞
Akina
4/15/2021
#1
您可以尝试使用下一个查询进行插入:
INSERT INTO item (org_id, item_id)
SELECT @org_id, COALESCE((SELECT 1 + MAX(item_id)
FROM item
WHERE org_id = @org_id), 1)
其中 是要插入的值。@org_id
问题:它可能会在发生并发插入时插入重复项。
评论