在 postgresql 中追加单元格

问题描述 投票:0回答:1

我在 POSTGRESQL 中有。如果表中不存在,如何插入行或通过在最后一个表中附加数组来更新行(添加到数组应在最后一列添加新文本,例如“1.First;”“1.First;2.Second;”) ” “1.第一;2.第二;2.第二;”等等)?

这是我想使用的代码:

INSERT INTO public.history (arm_number, dt_action)
VALUES ('1', '{"1. First;"}')
ON CONFLICT (arm_number)
DO UPDATE SET dt_action = ARRAY_APPEND(EXCLUDED.dt_action, '2. Second;');

当我使用它时,我只得到“1.第一;2.第二;”我该怎么办?

postgresql
1个回答
0
投票

使用 ARRAY 时,在这里工作得很好:

CREATE TABLE public.history(arm_number int PRIMARY KEY , dt_action text[]);

INSERT INTO public.history (arm_number, dt_action)
VALUES ('1', '{"1. First;"}')
ON CONFLICT (arm_number)
DO UPDATE SET dt_action = ARRAY_APPEND(EXCLUDED.dt_action, '2. Second;');

INSERT INTO public.history (arm_number, dt_action)
VALUES ('1', '{"1. First;"}')
ON CONFLICT (arm_number)
DO UPDATE SET dt_action = ARRAY_APPEND(EXCLUDED.dt_action, '2. Second;');

SELECT arm_number
     , unnest(dt_action)
FROM public.history;

结果: 1,1。第一的; 1,2。第二;

© www.soinside.com 2019 - 2024. All rights reserved.