【发布时间】:2016-07-22 11:58:14
【问题描述】:
我正在尝试为 PostgreSQL 做 this。我了解 PostgreSQL 作家不会阻止读者。那么如何安全地增加表中的序列。我知道 PostgreSQL 有一个序列功能,但我不是在寻找这个,因为那时我会在数据库中创建数千个序列。
我有一张这样的桌子:
+----+-----------+------+-------+--+
| id | Part | Seq | Model | |
+----+-----------+------+-------+--+
| 1 | Head | 0 | 3 | |
| 2 | Neck | 1 | 3 | |
| 3 | Shoulders | 2 | 29 | |
| 4 | Shoulders | 2 | 3 | |
| 5 | Stomach | 5 | 3 | |
+----+-----------+------+-------+--+
对于 Model 3,我如何在 Stomach 之后插入另一条记录,下面是新表的样子:
+----+-----------+------+-------+--+
| id | Part | Seq | Model | |
+----+-----------+------+-------+--+
| 1 | Head | 0 | 3 | |
| 2 | Neck | 1 | 3 | |
| 3 | Shoulders | 2 | 29 | |
| 4 | Shoulders | 2 | 3 | |
| 5 | Stomach | 5 | 3 | |
| 6 | Groin | 6 | 3 | |
+----+-----------+------+-------+--+
有没有一种方法可以制作一个插入查询,它只会在 Model 3 的最高序列之后给出下一个数字。另外,寻找并发安全的东西。
【问题讨论】:
-
有table locks和advisory locks如果你真的需要他们
标签: sql postgresql postgresql-9.4