|
|
1
4
我建议使用:
当您需要获得期望的结果时:
它非常快速,易于实现,并且可以很好地扩展,因为不需要担心并发问题。 |
|
|
2
0
不过,这一插页并不是故事的全部。如果您真的希望这些数字是连续的,那么您还需要处理删除以缩小创建的间隙。
|
|
|
3
0
您可以在父表上使用递增的版本号,并将子id设置为该值并递增。您可能需要在单个事务中更新父行并插入子行。
不得不 重用ID然后您有2个选项,首先是您上面指定的解决方案,但在删除时会对删除后出现的所有值重新编号。另一个选项是使用某种函数,按顺序扫描子ID,将其与一组序列号进行比较,并在找不到第一个时返回值。这两种解决方案都比较复杂,速度也比较慢,因为您需要使用行锁来防止并发更新,并且插入或同时插入和删除都将受到O(n)惩罚。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |