我有一个具有多个关系的标签系统。有时会有类似的标签应合并为一个。
让我们将应合并的标签tagA称为标签A,以使其消失,再将现在假定为tagA关系的标签称为tagB。
为了澄清起见,我需要的是:以前与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)更新所有与'tag'表相关的表,将tagA的ID更改为tagB的ID。
2)从“标签”表中删除tagA。
但是与标记系统的关系不断增长,我想提供一个解决方案,使我不需要通知正在查询中更新的每个表。
我考虑过使用UPDATE级联,但是我无法在'tag'表中为tagB的ID更新tagA的ID,因为我将以具有相同主键的两条记录结尾。
关于如何进行这项工作的任何想法?
非常感谢你。
最佳答案
关于什么:
1.插入TagB作为新标签;
2.更新所有将TagA更改为TagB的表;
3.从标签表中删除TagA