【发布时间】:2016-08-22 07:35:14
【问题描述】:
所以我在数据库中有一个如下所示的表:
类别
idCategory |数据
“idCategory”列是 AUTO_INCREMENT,数据字段是 JSON。 我的表中存储的数据如下所示:
1, {"CategoryNames": {"DE": "Wirtschaft", "EN": "Economy"}}
2, {"CategoryNames": {"DE": "Geschichte", "EN": "History"}}
想法是,以不同的语言存储类别的名称。我最好需要“CategoryNames”标签,这样我就可以在不影响语言的情况下添加其他属性,如“难度”左右。
我想要做的是在标签“CategoryNames”下添加其他语言而不删除或替换现有的。
所以它看起来像这样
2, {"CategoryNames": {"DE": "Geschichte", "EN": "History", "FR" : "Histoire"}}
我已经用JSON_INSERT 尝试过,类似这样:
UPDATE phpframework.category SET data = JSON_INSERT(data, "$.CategoryNames", JSON_OBJECT('FR', 'Histoire')) WHERE idCategory = 2;
但是什么也没发生,列保持不变。使用JSON_SET,它只是替换了我现有的语言。我也试过JSON_ARRAY_APPEND 但是看起来是这样的:
{"CategoryNames": [{"DE": "Geschichte", "EN": "History"}, {"EN": "Math"}]}
有人知道正确的 MYSQL 命令吗?
【问题讨论】: