Задать вопрос
@GDim

Postgresql как обновить существующие значения массивов?

Есть Postgresql таблица chat_channels с колонкой users integer[] NOT NULL DEFAULT ARRAY[]::integer[]
В ней хранятся массивы id пользователей.
Как заменить id определенного пользователя на id другого во всех строках таблицы, где есть этот id? Остальные элементы массивов должны остаться без изменений.
Спасибо.
  • Вопрос задан
  • 654 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
update tablename set users = array_replace(users, :from, :to) where users @> array[:from]

Возможно, надо будет добавить явное приведение типов, в зависимости от того, как будут подставляться параметры.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы