在我们的系统中,我们有11个标准(id 1..11)
我们在MySQL 5.6中有一个表,在这个表中有一个包含JSon对象的文本列:
标准列示例:
[
{
"important": false,
"paramsJson": {
"items": [
{
"text": "asd"
},
{
"text": "fasf"
},
]
},
"criteria": 1
},
{
"important": true,
"paramsJson": {
"A": "X",
"B": "Y",
"C": 2
},
"criteria": 11
},
{
"important": false,
"paramsJson": {
"ASD": true,
"WERT": true,
},
"criteria": 10
}
]
格式是"重要"属性首先,然后是" paramsJson"这可以包含复杂的对象,最后是"标准" ID。 我们可以按任何顺序拥有最多11个标准。
现在我想为每个条件创建一个包含重要列的视图 所以我们将有11列重要1,...,重要11。每列可以为null / true / false。
在上面的json示例中,条目将包含important1 = false,important10 = false和important11 = true(其余为null)。
非常感谢您提供有关如何从条件列中提取重要属性的建议,并将其附加到后面的cirteria ID。
由于
答案 0 :(得分:1)
您可以尝试MySQL JSON UDFs,其中包含JSON_EXTRACT()
函数,您可以使用该函数从存储在MySQL中的字符串中提取JSON对象和元素。您可能需要阅读我的blog post以获取有关安装UDF的说明。最新版本可以下载here。
如果您升级到MySQL 5.7,那么您可以在视图中使用native JSON functions,并且您还可以选择将generated columns添加到表中,以便在需要时公开提取的JSON值