2017-09-22 45 views
1

目前使用的MySQL 5.7,我可以執行以下查詢訪問數據庫中的一個JSON場:JSON路徑

select myData->'$[0].dataflow' from flowtable limit 1; 

如果我嘗試在MariaDB的相同的查詢它不工作,有什麼解決辦法這個問題?我認爲MariaDB與mysql完全兼容,通訊錄MariaDB語法是什麼?

歡呼

回答

1

在MySQL中,JSON_EXTRACT()在5.7.8中加入:

JSON_EXTRACT(json_doc, path[, path] ...)

...

的MySQL 5.7.9及更高版本支持的 - >操作員(JSON_EXTRACT())函數的簡寫...

...

在MariaDB(從10.2.3開始)使用JSON_EXTRACT()函數,因爲->運算符當前未實現。

的MySQL:

SELECT `myData` -> '$[0].dataflow' 
FROM `flowtable` 
LIMIT 1; 

MySQL和MariaDB的:

SELECT JSON_EXTRACT(`myData`, '$[0].dataflow') 
FROM `flowtable` 
LIMIT 1; 

見,MySQL的db-fiddle和MariaDB的dbfiddle