【发布时间】:2016-02-18 20:34:28
【问题描述】:
我有一个有多个关系的标签系统。有时有类似的标签应该合并为一个。
让我们将 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) 更新所有与 'tag' 表相关的表,将 tagA 的 id 更改为 tagB 的 id。
2) 从 'tag' 表中删除 tagA。
但是与标签系统的关系不断增加,我想要一个解决方案,我不需要通知查询中正在更新的每个表。
我曾想过使用 UPDATE 级联,但我无法在 'tag' 表中为 tagB 的 id 更新 tagA 的 id,因为我将以两条具有相同主键的记录结尾。
对如何实现这项工作有任何想法吗?
非常感谢。
【问题讨论】:
标签: mysql sql database merge tags