【发布时间】:2020-08-27 01:21:09
【问题描述】:
我正在使用 mysql 5.6,因此无法访问 mysql 中现有的 JSON 函数 - 所以寻找一些巧妙的解决方法...
我的 mysql 数据库中有一个 Story 表,其中有一个名为“tags”的字段。标签只是一个字符串字段,存储一个 JSON 的 tagId 数组,例如 [2,5,6],它与另一个名为 tag 的表相关联。 这使我可以通过组合 json 数组和标签数据轻松地在我的 UI 中重建标签信息。
但是现在我需要更新数据库中的这些标签,这证明具有挑战性。 例如,如果我想删除 id = 6 的标签,则需要将其从故事中引用的所有位置中删除,即
update story set tags = {new tag list excluding 6} where tags used to contain 6
我不确定如何在 mysql 中正确使用这些 JSON blob。
同样在某些情况下我想用另一个标签ID替换一个标签,即
update story set tags = {new tag list excluding 6 and including new tag id} where tags used to contain 6
我可以全部检索它们并从服务器(即 Nodejs)中进行单独处理并单独更新每条记录,但似乎效率很低。
这里正确或期望的方法是什么?
【问题讨论】: