sql >> Databasteknik >  >> RDS >> Mysql

mySQL JSON Document Store-metod för att infoga data i nod 3 nivåer djup

Du kanske vill läsa https://dev. mysql.com/doc/refman/8.0/en/json-function-reference.html och utforska var och en av funktionerna, och prova dem en efter en, om du ska fortsätta arbeta med JSON-data i MySQL.

Jag kunde göra det du beskriver så här:

update ssp_models set json_data = json_array_append(
    json_data, 
    '$."system-security-plan".metadata.parties', 
    json_object('name', 'Bingo', 'type', 'farmer')
)
where uuid = '66c2a1c8-5830-48bd-8fdd-55a1c3a52888';

Sedan kontrollerade jag uppgifterna:

mysql> select uuid, json_pretty(json_data) from ssp_models\G
*************************** 1. row ***************************
                  uuid: 66c2a1c8-5830-48bd-8fdd-55a1c3a52888
json_pretty(json_data): {
  "system-security-plan": {
    "uuid": "66c2a1c8-5830-48bd-8fdd-55a1c3a52888",
    "metadata": {
      "roles": [
        {
          "id": "legal-officer",
          "title": "Legal Officer"
        }
      ],
      "title": "Enterprise Logging and Auditing System Security Plan",
      "parties": [
        {
          "name": "Enterprise Asset Owners",
          "type": "organization",
          "uuid": "3b2a5599-cc37-403f-ae36-5708fa804b27"
        },
        {
          "name": "Enterprise Asset Administrators",
          "type": "organization",
          "uuid": "833ac398-5c9a-4e6b-acba-2a9c11399da0"
        },
        {
          "name": "Bingo",
          "type": "farmer"
        }
      ]
    }
  }
}

Jag började med data som din, men för det här testet trunkerade jag allt efter parties array.




  1. Prioritet för AND- och ELLER-operatorn i Mysql-valfrågan

  2. Sträng bokstaver och escape-tecken i postgresql

  3. Hur man använder GROUP BY efter Having-satsen Mysql

  4. Typ av triangel i MySQL