15
最近私はMySQL 5.7.10の使用を開始しました。ネイティブのJSONデータ型が好きです。MySQL 5.7.10でJSONデータ型の列を更新するには?
しかし、JSON型の値を更新する際に問題が発生しました。
質問:以下
ここで私はt1
テーブルのJSON data
欄の1以上のキーを追加したい、テーブル形式です。今すぐ値をフェッチしてテーブルを更新する必要があります。したがって、追加の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私が言及したように、ネイティブのjsonデータ型を提供するmysql 5.7を利用しようとしています。私のJSONは膨大なものになります。すべてのキー値のペアに列を追加することはできません。 –
[12.16 JSONの機能](https://dev.mysql.com/doc/refman/5.7/ja/json-functions.html)を確認してください。 – wchiquito