You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MariaDB的JSON类型allowed_user字段中筛选值为3的数据?

筛选MariaDB中JSON字段包含指定值的数据

你的表中allowed_user字段以JSON格式存储允许进入房间的用户ID,要筛选出包含用户ID 3的房间数据,可以用以下方法:

标准JSON数组场景(推荐)

如果allowed_user存储的是合法的JSON数组(比如["1","2","3","4","5"]或[1,2,3,4,5]),直接用MariaDB的JSON_CONTAINS()函数查询:

  • 若ID是字符串类型:
SELECT * FROM your_table_name
WHERE JSON_CONTAINS(allowed_user, '"3"');
  • 若ID是数字类型:
SELECT * FROM your_table_name
WHERE JSON_CONTAINS(allowed_user, 3);

非标准JSON格式场景(临时处理)

如果你的allowed_user是示例里的{"1","2","3"}这种非标准格式(这不是合法JSON,合法JSON数组用方括号,对象需要键值对),可以临时用字符串匹配查询,但强烈建议把字段修正为标准JSON数组,避免误匹配和维护问题:

SELECT * FROM your_table_name
WHERE allowed_user LIKE '%"3"%';

这种方式可能会误匹配类似"13"的ID,仅作为临时方案。

内容的提问来源于stack exchange,提问作者user2976046

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:52:17