列中的數據以此格式存儲。我JSON格式存儲數據列如何從列中使用mysql查詢提取所有字段
{"item": {
"actor":{
"time":"2011-08-21 21:56:37",
"ip":"127.0.0.1",
"id":"2010072123522251",
"email":"[email protected]",
"session_id":"c05e3e61a19650b4ca12a21c2e34df5f",
"loggedout":""},
"action":{
"name":"publish",
"text":"a_id=11714" ,
"a_id":"11714"
}
}}
現在我想這樣
時間IP ID電子郵件的結果SESSION_ID
2011-08-21 21點56分37秒127.0.0.1 2010072123522251 2010072123522251 2010072123522251
我用這樣的查詢
SUBSTRING(msg,LOCATE('a_id',msg)+5,(LOCATE('"',msg)+2)) AS answer_id
但它並沒有給我帶來好的結果。一些結果被終止。請建議
你存儲你的數據的方式是一個糟糕的一個,考慮重新設計數據庫結構,否則你會碰到噸的錯誤和選擇的將是一個痛苦。對不起,沒有發佈任何答案,但我不認爲任何人都可以對你的問題作出一般性回答。 –
如果你喜歡存儲這樣的對象,可以考慮像Mongo或Cassandra這樣的NoSQL選項。 –
基本上它是一個日誌輸出,我把它作爲一個JSON文件在數據庫中轉儲。這是一個糟糕的設計,但我只需要一個一般的建議。如果可能的話,不是確切的答案。我可以很容易地使用python或perl文本處理,但我想知道如果我可以使用mysql – shobhit