mysql - 如何使用查询从mysql的json数据类型中检查 "knownlanguages"键是否包含值="English"

标签 mysql mysql-5.7

{
  "Actor": {
    "knownlanguages": [
      "English"
    ]
  }
}

此 JSON 存储在 MySQL 的 JSON columntype 中,名称为 data

我的问题是如何使用查询从 MySQL 的 JSON 数据类型中检查 knownlanguages 键是否包含值 English

最佳答案

简单:

SELECT * FROM table WHERE JSON_CONTAINS(json, '"English"', "$.Actor.knownlanguages")

或(取决于您必须做什么):

SELECT JSON_CONTAINS(json, '"English"', "$.Actor.knownlanguages") FROM table

引用:https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html

关于mysql - 如何使用查询从mysql的json数据类型中检查 "knownlanguages"键是否包含值="English",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41187073/

相关文章:

php - 我应该使用用户可以运行的 PHP 脚本删除 MySQL 条目吗?

MySql:如何通过my.cnf开启通用查询日志?

PHP MySQL 查询选择 DISTINCT 但按日期显示有限行

MySQL ISAM 搜索优化

mysql only_full_group_by off 仍然显示错误

PHP 多维数组从 MySQL 查询乱序

mysql - 连接到 MySQL 服务器无法正常工作

mysql - 检查 mysql 中格式正确和/或有效的几何图形

mysql - MySQL 5.7 和 5.6 之间使用子查询的不同结果

Mysql:连接重复数据但忽略重复项中的字符串