【发布时间】:2025-11-26 20:00:02
【问题描述】:
我是 PostgreSQL 新手。实际上,我想将所有表格中的所有电子邮件地址更改为一些虚假的电子邮件地址。比如我希望 abc@gmail.com 应该变成 abc@1234gmail.com,xyz@hotmail.com 应该变成 xyz@1234hotmail.com 等等。
我找到了提供包含电子邮件列的表的查询。这是查询
select t.table_schema, t.table_name
from information_schema.tables t
inner join information_schema.columns c on c.table_name = t.table_name and c.table_schema = t.table_schema
where c.column_like '%email%'
and t.table_schema not in ('information_schema', 'pg_catalog')
and t.table_type = 'BASE TABLE'
order by t.table_schema;
它给了我一些记录。现在一种方法是转到每个表并更改电子邮件列的值。但是我可以修改上述查询以获取每封电子邮件的值并将其更改为某个假地址吗?就像电子邮件值是 abc@gmail.com 一样,只需在每个电子邮件地址的 @ 符号后附加 12345 或任何值。所以每个 email 值变成 abc@1234gmail.com, xyz@1234hotmail.com 等等
【问题讨论】:
标签: sql postgresql