MySQL JSON_CONTAINS字段值

时间:2017-03-03 12:59:50

标签: mysql

我有这段代码:

(SELECT COUNT(streams.id) FROM streams 
WHERE JSON_CONTAINS(streams.server, '[\"servers.id"\"]')) AS streams_total

我有表中的streams.id值(1或2或3或4或5等),并希望使用上面的mysql查询此查询,以便它可以工作:

(SELECT COUNT(streams.id) FROM streams 
WHERE JSON_CONTAINS(streams.server, '[\"1"\"]')) AS streams_total

所以我不知道如何将JSON_CONTAINS []字段值放入以便它可以返回正确的值

我无法将值从mysql字段名称传递到JSON_CONTAINS(因此使用field_name它会得到正确的值)....我错过了什么?

2 个答案:

答案 0 :(得分:0)

我认为您应该在查询中应用一些更改,以获得正确的输出,如下所示 -

SELECT COUNT(streams.id) FROM streams 
WHERE JSON_CONTAINS(`json`, '{"streams.server" : "1"}') AS streams_total

答案 1 :(得分:0)

我找到了解决方案:

(
    SELECT COUNT(streams.id) 
    FROM streams 
    WHERE JSON_SEARCH(streams.server, 'all', servers.id) IS NOT NULL
) AS streams_total

现在它的工作原理......我正在使用节点js使用并行mysql处理,它的工作原理应该是...但我不熟悉时间响应什么是更快的JSON_SEARCH或JSON_CONTAINS。