我有2个bigint列,msb
& lsb
,我想加入一个uuid
列。
是否可以更改表格以添加uuid
列&从msb
和lsb
值生成uuid值? msb应该是uuid&的前64位。 lsb应该是底部的64位。
答案 0 :(得分:2)
添加一个新的uuid
类型列(假设为sb
;首先为可为空)。然后使用
UPDATE table_name
SET sb = (lpad(to_hex(msb), 16, '0') || lpad(to_hex(lsb), 16, '0'))::uuid
然后您可以将其设为主键(并可选择删除msb
& lsb
)。