Недавно я начал использовать MySQL 5.7.10, и мне нравится родной тип данных JSON.Как обновить столбец данных JSON в MySQL 5.7.10?
Но у меня возникла проблема, связанная с обновлением значения типа JSON.
Вопросы:
Ниже приведен формат таблицы, здесь я хочу добавить еще 1 ключ в JSON data
колонке для t1
таблицы. Сейчас я должен получить значение, чтобы изменить его и обновить таблицу. Так что это связано с дополнительным заявлением SELECT
.
я могу вставить как этот
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)
Есть ли работа вокруг этого?
Почему вы добавляете данные, как это? это должен быть отдельный столбец для ключа и значения. –
@PathikVejani Как я уже упоминал, я пытаюсь использовать mysql 5.7, который предоставляет родной тип данных json. Мой JSON может быть огромным. Я не могу добавить столбцы для каждой пары значений ключа. –
Проверка: [12.16 Функции JSON] (https://dev.mysql.com/doc/refman/5.7/en/json-functions.html). – wchiquito