mysql5.0使用json_mysql – 有没有办法在SQL中使用json对象

意图是JSON

在MySQL中无法使用JSON.有些DBMS可能支持JSON,但这是不可能的,此外,任何类型的“支持”只是执行一些特定于JSON的操作,而不是关于建模您的架构(这两件事情完全不同)更多,完全意义上,MySQL的模型概念(即关系)与JSON不同的是:作为一个关系型DBMS,它遵循relational data model,而JSON是完全不同的格式.您将它存储为纯字符串值,因此,如果不使用字符串函数,则无法以其他方式对其执行任何操作.因此,即使使用JSON,您也不会在关系模型中执行此操作,因此,不可能维护关系功能,例如参照完整性.

要解决的选项

你有几个选择:

>迁移到Postgree SQL,因为它扩展了对json的支持,因为版本9.4是jsonb,它甚至更快.这可能是最好的选择,因为它是RDBMS,因此迁移对于真正面向文档的DBMS来说不会那么难.

>或者现在迁移到Mongo(如果这是你的意图),在为时已晚.请注意,Mongo与RDBMS完全不同,它是面向文档的.我想这对你的项目和你的客户来说都是最好的选择(你的任务就是解释那个)

>更改整个体系结构,这样您就不会存储JSON对象,并且可以使用规范化(就关系数据库而言)实体.这意味着 – 是的,所有代码的整个重构,改变所有关系等.在实际情况下,这只是理论选择,你不会既没有时间也没有金钱.

>为MySQL实现自己的JSON库.难吗?取决于你将如何处理你的JSON,但JSON是公共格式,所以你至少应该知道该做什么.您可以将其作为UDF或在user-land(因此使用CREATE FUNCTION语句)执行.当然,这需要特定的技能和时间.坏事:错误.即使您能够比重新构建体系结构或迁移到Mongo更快地创建这些功能,您仍然无法确定这些功能的质量.没有办法本机测试该代码.但是,我可能会提示用户登陆功能的情况 – 如果您的MySQL是5.6或更高版本,您可以使用mysql-unit来测试您存储的代码(好吧,我已经编写了这个工具,但是它也可能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值