У меня есть база данных, которая использует JSON для хранения значений.
CREATE TABLE JSON(name TEXT, value TEXT);
Я пытаюсь преобразовать это в собственный формат.
CREATE TABLE NATIVE(name TEXT, KEY1, KEY2, KEY3);
Формат JSON выглядит следующим образом:
[
{"key1":value1, "key2":value2, "key3":value3},
{"key1":value4, "key2":value5, "key3":value6},
....
]
В приведенном выше примере я пытаюсь создать запрос, используя INSERT INTO NATIVE (name, KEY1, KEY2, KEY3) SELECT <something> FROM JSON
для создания этой таблицы:
+------+---------+--------+--------+
| TEXT | KEY1 | KEY2 | KEY3 |
+------+---------+--------+--------+
| TEXT | VALUE1 | VALUE2 | VALUE3 |
| TEXT | VALUE4 | VALUE5 | VALUE3 |
...
+------+---------+--------+--------+
Я использовал JSON1 для других таблиц, в которых используются простые объекты. Например, когда у меня есть значения, которые являются объектами, а не массивами объектов, я могу использовать json_extract
для каждого поля.
Для массива, я думаю, я должен использовать json_each
, но мне трудно понять, как применить его к этой конкретной проблеме.