我有一个包含一些机密个人信息的数据库。出于数据分析的目的,我想将这些数据发送给某些人。但是,需要保持数据的匿名性。
我有没有办法生成假表来进行JOINS,而不是JOIN到具有实名的user
表,我动态生成表fakeuser
并加入到该表代替。
我知道它可以手动完成,但查询不会在整个数据库中的所有用户上运行,并且动态完成它是很好的,即当查询调用fakeuser
ID 23时ID不存在,它只是从某个地方选择一个随机名称并填充表和查询。
如果MySQL不够灵活,我可以通过其他类型的脚本执行此操作。
答案 0 :(得分:0)
这似乎是一个非常简单的任务,但它涉及几个步骤,我不知道你被困在哪里。
您需要一个名称列表,您可以通过随机生成字母组合(提供不可读的名称)来获取这些名称,或者您可以找到公开的名称来源(可能是http://www.listofbabynames.org/)。
然后你需要一个循环来通过从列表中随机选择名称来在fakeuser表中插入记录。您只需要确保不为fakeuser中的不同记录指定相同的名称。这可以通过在您选择名称时从列表中删除名称来完成。如果列表不够大,您可以生成组合。
我也会仔细考虑@eggyal给出的建议/文章,看它是否适用于你的情况。如果您需要更好的解决方案,我认为有很多关于匿名化数据的工作。