Ho iniziato a utilizzare MySQL 5.7.10 di recente e mi piace molto il tipo di dati JSON nativo.Come aggiornare la colonna del tipo di dati JSON in MySQL 5.7.10?
Ma mi sono imbattuto in un problema quando si tratta di aggiornare un valore di tipo JSON.
Domande:
Di seguito è riportato il formato tabella, qui voglio aggiungere 1 più fondamentale in JSON data
colonna per t1
tavolo. In questo momento devo recuperare il valore modificarlo e aggiornare la tabella. Quindi implica un'ulteriore dichiarazione SELECT
.
posso inserire come questo
INSERT INTO t1 values ('{"key2":"value2"}', 1);
mysql> select * from t1;
+--------------------+------+
| data | id |
+--------------------+------+
| {"key1": "value1"} | 1 |
| {"key2": "value2"} | 2 |
| {"key2": "value2"} | 1 |
+--------------------+------+
3 rows in set (0.00 sec)
mysql>Show create table t1;
+-------+-------------------------------------------------------------
-------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------+
| t1 | CREATE TABLE `t1` (
`data` json DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
C'è un lavoro in giro per questo?
Perché si aggiungono dati in questo modo? dovrebbe essere una colonna separata per chiave e valore. –
@PathikVejani Come ho già detto sto cercando di utilizzare mysql 5.7 che fornisce il tipo di dati json nativo. Il mio JSON può essere enorme. Non riesco ad aggiungere colonne per ogni coppia di valori chiave. –
Controllare: [12.16 Funzioni JSON] (https://dev.mysql.com/doc/refman/5.7/en/json-functions.html). – wchiquito