我有一个电子邮件地址列表,我想创建一个表并指定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
... ...
答案 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;
您可以将其存储在映射表中,也可以更新原始表中的新列。