PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

रेल में पोस्टग्रेज जेसन फ़ील्ड के साथ नेस्टेड कुंजी अपडेट करें

जेसन कुंजी को बदलने के लिए कोई फ़ंक्शन नहीं है, इसलिए आपको पुरानी वस्तु को हटा देना चाहिए और एक नया जोड़ना चाहिए:

update moves 
set data = jsonb_set(
    data::jsonb,
    array['boxes'],
    (data->'boxes')::jsonb - 'book' || jsonb_build_object('book_new', data->'boxes'->'book')
    )
where data ->> 'boxes' like '%book%'
returning *;

                         data                         
------------------------------------------------------
 {"boxes": {"moving": 2, "book_new": 2}, "goods": {}}
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django:कई से कई जोड़ने के दौरान वफ़ादारी त्रुटि ()

  2. क्या PostgreSQL tf-idf का उपयोग करता है?

  3. तालिका उपयोगकर्ताओं को नहीं छोड़ सकता क्योंकि अन्य वस्तुएं इस पर निर्भर करती हैं

  4. PostgreSQL:टाइमस्टैम्प पर एक इंडेक्स बनाएं ::DATE

  5. एक एक्सटेंशन बनाने का प्रयास करते समय PostgreSQL त्रुटि