更新PostgreSQL数组中的值
发布时间:2020-12-13 15:50:15 所属栏目:百科 来源:网络整理
导读:我在PostgreSQL数据库中有一些列是数组.如果值不存在,我想在其中添加一个新值(在UPDATE中),否则,不要添加任何值.我不想覆盖数组的当前值,只是添加元素. 可以在查询中执行此操作,还是需要在函数内执行此操作?我正在使用PostgreSQL. 解决方法 对于整数数组(in
我在PostgreSQL数据库中有一些列是数组.如果值不存在,我想在其中添加一个新值(在UPDATE中),否则,不要添加任何值.我不想覆盖数组的当前值,只是添加元素.
可以在查询中执行此操作,还是需要在函数内执行此操作?我正在使用PostgreSQL. 解决方法
对于整数数组(integer []),这应该与此示例一样简单:
UPDATE tbl SET col = col || 5 WHERE (5 = ANY(col)) IS NOT TRUE; 一个WHERE子句,如: WHERE 5 <> ALL(col) 还会捕获空数组'{}’:: int []的情况,但如果NULL值作为数组的元素出现则会失败. 如果您的数组永远不会包含NULL作为元素,请考虑实际的array operators,可能由GIN索引支持. UPDATE tbl SET col = col || 5 WHERE NOT col @> '{5}'; 看到: > Check if value exists in Postgres array (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |