我正在尝试在MariaDB中使用JSON。我的表有两列:
ID - INT。 PK。自动增量。
JsonText - BLOB
我已将Json插入到blob列中,它看起来像这样:
{
"Fields" : {
"CalPeriod" : "1",
"CalYear" : "2014",
"CompanyCode" : "E009",
"CreditDebitInd" : "H",
"FiscalYear" : "2014",
"MaxPostDate" : "2014-01-14T00:00:00",
"MinPostDate" : "2014-01-14T00:00:00"
}
}
然而,当我尝试选择数据并将其解析回来时,我得到了我在标题中发布的错误。
这是我的问题:
SELECT COLUMN_JSON(JsonText) FROM alliance.jsontest;
我不明白。我甚至从这个网站上完全复制了代码,它仍然抛出相同的错误,或者它只返回了BLOB一词的列。
答案 0 :(得分:1)
迟到总比没有......
COLUMN_JSON函数用于动态列。 将json字符串插入blob列并不会使其成为动态列。
要在此类列中插入数据,您需要使用COLUMN_CREATE。 例如
INSERT INTO alliance.jsontest (JsonText)
VALUES (COLUMN_CREATE(
"CalPeriod", "1",
"CalYear", "2014",
"CompanyCode", "E009",
"CreditDebitInd", "H",
"FiscalYear", "2014",
"MaxPostDate", "2014-01-14T00:00:00",
"MinPostDate", "2014-01-14T00:00:00"
));
然后您可以使用COLUMN_JSON或使用COLUMN_GET选择其中一列。