用字符值随机化主键

时间:2020-04-16 15:55:06

标签: sql postgresql

我在表上有一个主键(如下图所示),该主键具有一个字符值。这些主键是另一个表上的外键,我想以随机方式输入它们,这意味着其中一些可能未在该表上输入。有什么办法吗?

primary key of inventory table

1 个答案:

答案 0 :(得分:1)

如果要使用8位零填充字符串,则:

select lpad((random()*100000000)::text, 8, '0')

如果要从另一个表中获得有效的匹配值,则可以使用类似以下的内容:

select pk
from othertable
order by random()
limit 1;

注意:如果另一个桌子的大小适中,这将很昂贵。

相关问题