假设有一张桌子employee
create table employee (
emp_id varchar(100),
tags jsonb NOT NULL DEFAULT '[]' :: jsonb;
);
其中一行在tags
列中包含以下信息
["TagA", "TagB", "TagC"]
目前,为了用其他值更新该列,我执行了以下查询
UPDATE employees SET tags = employees.tags || to_jsonb('["TagD", "TagA"]'::jsonb) where emp_id = 'EMP-111'
但是,这会将重复项添加到单元格,并使其看起来像
["TagA", "TagB", "TagC", "TagD", "TagA"]
这对我的用例来说不太可取.目前,为了绕过这一问题,我在应用程序层的后处理中处理了重复项.
有没有一种有效的方法可以在运行时删除像"Taga"这样的重复项?