我有一个dim delta表,到目前为止,我正在使用row_number() + max(dim_id)
计算dim_id
。
Dim_id | user_id
1001 | 1
1002 | 3
1003 | 5
1004 | 9
例如,如果我删除了1004 id,然后插入一个新的user_id,如7(row_number() + max(dim_id) = 1004)
1004 id重复。有没有办法防止已经使用的id从增量表中删除后不再创建?
- 解决这个问题的完美方法是
Primary Key
,但直到现在还不支持。 - 您可以将
monotonically_increasing_id()
和row_number()
组合为两列。下面是示例:生成唯一的递增值
采访:
- monotonically_increasing_id ()
- Databricks的约束