mysql存储过程处理json格式内容

design321 2013-03-08 10:43:52
在original表里有个detail字段,内容分为3种如下json格式,现要将这3种不同内容的数据分折到新的三个表里:
在json的第一级,把“terminal”的存在tb1表里,在“event”里根据“id”不同再各自入tb2,tb3表

{
sid: "8r4f7",
uid: "104723",
tm: "20130220164443",
terminal: {
os: "Android",
osver: "2.3.7",
screenx: "480",
screeny: "854",
}
}

{
sid: "o3bb1",
uid: "104494",
tm: "20130218002919",
event: {
begin: "20130218000056",
end: "20130218002919",
use: "2863",
id: "use_time"
}
}


{"sid":"null",
"uid":"104262",
"tm":"20130204161323",
"event":{
"around":"银行",
"use":"16:12",
"id":"transfer"
}
}

新表tb1的结构:
id sid uid tm os osver screenx screeny

新表tb2的结构:
id sid uid tm begin end use

新表tb3同理

这些数据都是客户端收集,放在一个json塞数据库里,现在我要做的是,从数据库里取出这个字段,分拆到不同表里,以方便以后查询统计

这个问题对我来说很难,所以还是请大牛们指点一二,先谢谢了




...全文
1581 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
design321 2013-03-11
  • 打赏
  • 举报
回复
引用 3 楼 ACMAIN_CHM 的回复:
用存储过程可以实现,存储过程本身就是写过程代码。 不过存储过程中没有什么特别可以利用的事先写好的代码,只能通过字符串处理来逐个实现。
我现在就是卡在怎么用存储过程去解析遍历这个特殊的字符串。存储过程中有类似其他语言的,explode(),substr(),splite()这些解析字符串的函数吗?谢谢
design321 2013-03-08
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
这种json还是从数据库读出来用程序解析吧
谢谢您的回答。 确实用程序解析完成相对容易,但考虑大数据量太大,目前只是看能用存储过程试试。
rucypli 2013-03-08
  • 打赏
  • 举报
回复
这种json还是从数据库读出来用程序解析吧
ACMAIN_CHM 2013-03-08
  • 打赏
  • 举报
回复
用存储过程可以实现,存储过程本身就是写过程代码。 不过存储过程中没有什么特别可以利用的事先写好的代码,只能通过字符串处理来逐个实现。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧