正在生成 table 中不存在的 uuid

Generating uuid that does not exist in table

我需要生成一个在table的某个列中不存在的uuid。我找到了一个函数 gen_random_uuid()。循环中是否有某种方法可以检查这样的 uuid 是否存在并在存在时替换它?

CREATE TABLE x (id UUID PRIMARY KEY, name TEXT)

INSERT INTO x VALUES (
gen_random_uuid(),   // Need to check if uuid not exist in id column
'some name'
)

uuid比宇宙中的原子还要多。因此,随机选择相同两次的机会几乎为零。这正是 uuid 的意义所在,您不必检查它们是否唯一。你只是假设它们是构造出来的。