代码之家  ›  专栏  ›  技术社区  ›  Prosto_Oleg

正在生成表中不存在的uuid

  •  0
  • Prosto_Oleg  · 技术社区  · 2 年前

    我需要生成一个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'
    )
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   Franck Jeannin    2 年前

    宇宙中的uuid比原子还多。因此,随机抽取同一个样本两次的几率几乎为零。这正是uuid的要点,您不必检查它们是否唯一。你只需假设它们是由建筑造成的。