Postgresql - 创建匿名ID

时间:2015-02-13 20:03:27

标签: sql postgresql

我有一个电子邮件地址列表,我想创建一个表并指定ID以保护实际用户。在postgresql中最简单的方法是什么?

我现在拥有的:

     email          last_contact
bob@xyzcorp.com       20140101
mary@abc.gov          20140606
sara@cde.com          20140708
    ...                  ...

我想得到类似的东西:

     email          anon_id
bob@xyzcorp.com       abc123
mary@abc.gov          abc124
sara@cde.com          abc125
   ...                 ...

2 个答案:

答案 0 :(得分:0)

使用uuid-ossp扩展名生成UUID,如下所示。 (我假设你希望它们是随机的,而不是来自Sequence不是字母数字的)

CREATE EXTENSION "uuid-ossp";
select uuid_generate_v4();

使用select into query跟进新表格所需的列,并动态生成UUID

答案 1 :(得分:0)

您可以使用它来创建这样的结果。

select email, 
       'abc'||to_char(row_number() over (), 'FM0000') as anon_id
from users;

您可以将其存储在映射表中,也可以更新原始表中的新列。