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

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

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

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

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

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