Referentie:https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html
Ik weet dat dit een oudere thread is, maar MySQL 5.7 heeft nu een JSON-type waar je JSON in een veld kunt importeren, waarna je berekende velden kunt gebruiken om de json in afzonderlijke velden te splitsen. Hier is een ruwe code (niet getest):
Maak een JSON-testtabel:
CREATE TABLE IF NOT EXISTS jsontest(
rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
jsondata json,
`executionDateTime` TIMESTAMP,
`A` BIGINT UNSIGNED,
`B` BIGINT UNSIGNED,
);
Importeer uw JSON in het JSON-veld:
LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);
Splits uw gegevens op (dit kan worden gecombineerd in een enkele opdracht)
UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');
Als u geen extra velden wilt hebben, kunt u het jsondata-veld als volgt opvragen:
SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
jsondata->>"$.A" AS A,
jsondata->>"$.B" AS B;