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

MySQL अद्यतन या JSON में एक कुंजी का नाम बदलें

ऐसा करने के लिए कोई सीधा JSON फ़ंक्शन नहीं है। हम कुछ JSON फ़ंक्शन के संयोजन का उपयोग कर सकते हैं।

हम oldKey-oldValue . को हटा देंगे Json_Remove() फ़ंक्शन, और फिर Json_Insert() newKey-oldValue जोड़ी।

Json_Extract() फ़ंक्शन का उपयोग JSON दस्तावेज़ में इनपुट कुंजी के अनुरूप मान प्राप्त करने के लिए किया जाता है।

UPDATE `my_table` 
SET `my_col` = JSON_INSERT(
                           JSON_REMOVE(my_col, '$.oldKeyValue'), 
                           '$.newKeyValue', 
                           JSON_EXTRACT(my_col, '$.oldKeyValue')
                          );

डेमो

SET @my_col := '{"endDate": "2018-10-10", "startDate": "2017-09-05", "oldKeyValue": {"foo": 1000, "bar": 2000, "baz": 3000}, "anotherValue": 0}';

SET @new_col := JSON_INSERT(
                            JSON_REMOVE(@my_col, '$.oldKeyValue'), 
                            '$.newKeyValue',
                            JSON_EXTRACT(@my_col,'$.oldKeyValue')
                          );

SELECT @new_col;

परिणाम

| @new_col                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------- |
| {"endDate": "2018-10-10", "startDate": "2017-09-05", "newKeyValue": {"bar": 2000, "baz": 3000, "foo": 1000}, "anotherValue": 0} |

Json_Extract() के विकल्प के रूप में , हम -> . का भी उपयोग कर सकते हैं JSON दस्तावेज़ में दी गई कुंजी के अनुरूप मान तक पहुँचने के लिए ऑपरेटर।

UPDATE `my_table` 
SET `my_col` = JSON_INSERT(
                           JSON_REMOVE(my_col, '$.oldKeyValue'), 
                           '$.newKeyValue', 
                           my_col->'$.oldKeyValue' 
                          );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं हाइबरनेट का उपयोग करके अंतिम सम्मिलित आईडी कैसे प्राप्त कर सकता हूं?

  2. कार्बन तिथि को mysql टाइमस्टैम्प में कनवर्ट करना।

  3. MySQL में SUM (NULL) को समझना

  4. c3p0 प्रतीक्षा में लटकता है हाइबरनेट के साथ उपलब्ध है

  5. IPv4, IPv6 पतों को एक स्ट्रिंग के रूप में संग्रहीत करने के लिए आकार