我有一个具有多种关系的标签系统。有时有类似的标签应该合并为一个。
让我们将 tagA 称为应该合并的标签,然后消失,将 tagB 称为现在将采用 tagA 关系的标签。
为了澄清,我需要的是:以前与 tagA 相关的每个实体现在都与 tagB 相关,然后删除 tagA。
基本结构是这样的:
tag
---------------
tag_id
description
tag_news
---------------
tag_news_id
tag_id
news_id
tag_pages
---------------
tag_pages_id
tag_id
pages_id
等等...
我知道我可以简单地:
1) 更新与“标签”表相关的所有表,将 tagA 的 id 更改为 tagB 的 id。
2) 从“标签”表中删除 tagA。
但是与标签系统的关系不断增加,我想要一个不需要通知查询中正在更新的每个表的解决方案。
我想过使用 UPDATE 级联,但我无法在“tag”表中更新 tagA 的 id 为 tagB 的 id,因为我将以具有相同主键的两条记录结束。
关于如何实现这项工作有什么想法吗?
非常感谢。
最佳答案
关于: 1.插入TagB作为新标签; 2.更新所有表,将TagA更改为TagB; 3.从Tags表中删除TagA
关于MySQL合并标签记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757502/