Postgres Array Append& 'Array Push'的数组长度

时间:2012-06-13 03:23:17

标签: arrays postgresql

当未提供数组大小时,将元素添加到数组的最佳方法是什么?

array_append这是我能想到的:

UPDATE table SET array = array_append((SELECT array FROM table WHERE ...), 'element') WHERE ...;

array_length这是我能想到的:

UPDATE table SET array[array_length((SELECT array FROM table WHERE ...), 1)+1] = element;

1 个答案:

答案 0 :(得分:42)

最简单的事情是:

update table
set array = array_append(array, 'element')
where ...

或者可能使用|| operator

update table
set array = array || 'element'
where ...

这两个都等同于数字更常见的set n = n + 11