【发布时间】:2015-12-08 09:56:42
【问题描述】:
我有一张有 4 列的表格
-----------------------
|data1|data2|data3|key|
-----------------------
|d1 | d2 | d3 | k1|
-----------------------
|d3 |d4 | d5 | k2|
-----------------------
|d6 | d7 | d8 | k1|
-----------------------
|d9 |d10 | d11 | k2|
-----------------------
我需要基于这个具有相同列 + id 的新表生成一个新表。 Id 应该是随机的 int64。相同的密钥应该具有相同的 id 例如上表可能是:
----------------------------
|data1|data2|data3|key| id |
----------------------------
|d1 | d2 | d3 | k1|1234|
---------------------------
|d3 |d4 | d5 | k2|5678|
----------------------------
|d6 | d7 | d8 | k1|1234|
----------------------------
|d9 |d10 | d11 | k2|5678|
----------------------------
我会很高兴得到建议
更新
GUID 是 128 位,我需要 64 位。我支持IRAND
【问题讨论】:
-
您使用的是哪个 dbms?也许它支持 IRAND 或 RAND?
-
它是一个键(这意味着唯一性),还是随机的(这意味着它可能会重复?)你能给我们一些背景,说明你为什么要这样做,以及为什么像GUID 或哈希不是更合适吗? (是的,正如@jarlh 所说,在做这种不寻常的事情时,您可能需要特定 RDBMS 的自定义功能,那么您使用的是什么系统?)
-
@jalh, @Matt Gibson 请看问题