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

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

Есть Postgresql таблица chat_channels с колонкой users integer[] NOT NULL DEFAULT ARRAY[]::integer[]
В ней хранятся массивы id пользователей.
Как заменить id определенного пользователя на id другого во всех строках таблицы, где есть этот id? Остальные элементы массивов должны остаться без изменений.
Спасибо.
  • Вопрос задан
  • 674 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    5 недель
    Далее
  • Академия Эдюсон
    SQL-разработчик: тариф Базовый
    2 месяца
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
update tablename set users = array_replace(users, :from, :to) where users @> array[:from]

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

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

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