Postgres Array Append & Array Length для 'Array Push'
Каков наилучший способ добавить элемент в массив, если размер массива не указан?
С 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
Самое простое:
update table
set array = array_append(array, 'element')
where ...
или, возможно, используйте оператор ||
:
update table
set array = array || 'element'
where ...
Оба из них эквивалентны более обычным set n = n + 11
для чисел.