MariaDB COLUMN_JSON 查询 returns 二进制
MariaDB COLUMN_JSON query returns binary
我一直在尝试将动态列与 MariaDB v10.1.12 实例一起使用。
首先,我发送以下查询:
INSERT INTO savedDisplays (user, name, body, dataSource, params) VALUES ('Marty', 'Hey', 'Hoy', 'temp', COLUMN_CREATE('type', 'tab', 'col0', 'champions', 'col1', 'averageResults'));
params 的类型被定义为 blob,就像文档中建议的那样。
查询被接受,table 更新。如果我 COLUMN_CHECK 结果,它告诉我没问题。
但是当我尝试 select:
"SELECT COLUMN_JSON(params) AS params FROM savedDisplays;
我收到一个 {type: "Buffer", data: Array} 包含返回给我的二进制文件,而不是 {"type":"tab", "col0":"champions", "col1":"averageResults"} 我预计。
编辑:我可以很好地使用COLUMN_GET,但我需要参数字段中的每一列,并且我需要检查类型属性首先要知道 JSON / params 字段中有什么类型和多少列。我也许可以让它继续工作,但这需要多个查询,而不是一个。
有什么想法吗?
尝试:
SELECT CONVERT(COLUMN_JSON(params) USING utf8) AS params FROM savedDisplays
在 MariaDB 10 中,这适用于每个 table:
SELECT CONVERT(COLUMN_JSON(COLUMN_CREATE('t', text, 'v', value)) USING utf8)
as json FROM test WHERE 1 AND value LIKE '%12345%' LIMIT 10;
在node.js
中输出
[ TextRow { json: '{"t":"test text","v":"0.5339044212345805"}' } ]
我一直在尝试将动态列与 MariaDB v10.1.12 实例一起使用。
首先,我发送以下查询:
INSERT INTO savedDisplays (user, name, body, dataSource, params) VALUES ('Marty', 'Hey', 'Hoy', 'temp', COLUMN_CREATE('type', 'tab', 'col0', 'champions', 'col1', 'averageResults'));
params 的类型被定义为 blob,就像文档中建议的那样。 查询被接受,table 更新。如果我 COLUMN_CHECK 结果,它告诉我没问题。
但是当我尝试 select:
"SELECT COLUMN_JSON(params) AS params FROM savedDisplays;
我收到一个 {type: "Buffer", data: Array} 包含返回给我的二进制文件,而不是 {"type":"tab", "col0":"champions", "col1":"averageResults"} 我预计。
编辑:我可以很好地使用COLUMN_GET,但我需要参数字段中的每一列,并且我需要检查类型属性首先要知道 JSON / params 字段中有什么类型和多少列。我也许可以让它继续工作,但这需要多个查询,而不是一个。
有什么想法吗?
尝试:
SELECT CONVERT(COLUMN_JSON(params) USING utf8) AS params FROM savedDisplays
在 MariaDB 10 中,这适用于每个 table:
SELECT CONVERT(COLUMN_JSON(COLUMN_CREATE('t', text, 'v', value)) USING utf8)
as json FROM test WHERE 1 AND value LIKE '%12345%' LIMIT 10;
在node.js
中输出[ TextRow { json: '{"t":"test text","v":"0.5339044212345805"}' } ]