PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres - премахване на елемент от масива jsonb

Ако приемем липсваща информация:

  • Вашата таблица има PK, наречен user_id .
  • Искате да премахнете всички елементи с id = 2 през цялата маса.
  • Не искате да докосвате други редове.
  • id е уникален във всеки масив от chats .

UPDATE "Users" u
SET    chats = array_remove(u.chats, d.chat)
FROM  (
   SELECT user_id, chat
   FROM   "Users", unnest(chats) chat
   WHERE  chat->>'id' = '2'
   ) d
WHERE  d.user_id = u.user_id;

Следното обяснение съответства на обема на предоставената информация във въпроса:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчакайте няколко db връзки, преди да стартирате експресния сървър?

  2. SQLAlchemy:Всяко ограничение за проверка на една от двете колони не е нула?

  3. Как да интерпретирате стойността на PosgreSQL txid_current().

  4. Рекурсивна заявка за хирархични данни въз основа на списък на съседство

  5. Не може да се свърже с локалния PostgreSQL