在PostgreSQL中插入系列

RKR*_*RKR 1 database postgresql series

我想在postgreSQL列中插入一系列数字。

1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3.....30
Run Code Online (Sandbox Code Playgroud)

所以1-30重复10次(300行)。但是我知道我可以使用生成序列

 SELECT a.n
from generate_series(1, 100) as a(n), generate_series(1, 3)
Run Code Online (Sandbox Code Playgroud)

如何将此系列插入到现有表public.trip和列day中

update public.trip set day = generate_series(1, 30) , generate_series(1, 10);

但这显示为错误。感谢您的帮助。

小智 5

如果您将其作为新数据插入,则应使用INSERT INTO语句(在这种情况下,它将是这种情况)(我假设其中包含day的值)

INSERT INTO public.trip(Day)
   SELECT a.n from generate_series(1, 100) as a(n), generate_series(1, 3)
Run Code Online (Sandbox Code Playgroud)

如果要更新现有记录,则可以使用UPDATE语句

UPDATE public.trip SET Day =  SELECT a.n from generate_series(1, 100) as a(n), generate_series(1, 3) WHERE [condition]
Run Code Online (Sandbox Code Playgroud)

希望有帮助