【问题标题】:Can I use Laravel JSON Where Clauses with MariaDB 10.2.16 LongText column?我可以在 MariaDB 10.2.16 LongText 列中使用 Laravel JSON Where 子句吗?
【发布时间】:2019-02-20 17:49:25
【问题描述】:

我尝试使用 phpMyAdmin 将 json 列添加到我的数据库中

但不幸的是,phpMyAdmin 将 json 列转换为 Longtext 类型

所以,我问的是这种类型的 JSON Where 子句是否能够使用

https://laravel.com/docs/5.7/queries#json-where-clauses

【问题讨论】:

  • 从文档来看,MariaDB 并未列在支持的数据库系统中:Laravel 还支持在提供 JSON 列类型支持的数据库上查询 JSON 列类型。目前,这包括 MySQL 5.7、PostgreSQL、SQL Server 2016 和 SQLite 3.9.0(带有 JSON1 扩展)
  • Laravel 5.8 将支持 MariaDB 上的 JSON 查询:github.com/laravel/framework/pull/25517

标签: mysql json laravel mariadb laravel-5.6


【解决方案1】:

您不能对 MariaDB 中的非 JSON 数据类型使用这些查询。从 10.2 开始,它不再正式支持它。

您可以使用JSON helper functions 查询数据(即:where JSON_CONTAINS(...) 等。

您还可以使用 Virtual Columns 创建从 JSON 数据中提取值的列

这是一个good post,其中包含更多详细信息。

【讨论】:

  • 感谢您的精彩回复
  • 我要检查所有这些网址
  • 请再问一个问题,我正在使用 RunCloud 服务来管理我的 Ubuntu 服务器,但他们提供了一个很好的工具来管理 MariaDB 数据库,但我仍然可以在我的服务器上安装 mysql 引擎,值得吗?从使用 laravel json 查询中获得所有好处
猜你喜欢
  • 2017-07-18
  • 2017-05-07
  • 2012-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-18
  • 1970-01-01
相关资源
最近更新 更多