-1

我不确定在文本字段中构建使用主题标签的 MySQL 数据库的最佳方法是什么,但我想这就像在表格上使用插入/更新触发器,文本字段将解析并添加将任何散列词添加到另一个表中,仅当它不在其中时才将其添加到散列表中。这是一个好方法吗?如果是这样,这样的触发器会是什么样子?

如果有另一种方法来构建 MySQL 数据库以利用主题标签,我愿意接受建议。

4

1 回答 1

1

INSERT您可以在和上运行触发器UPDATE

您可以将字符串拆分为单词。

您可以INSERT自动新建主题标签(name假定唯一键):

INSERT IGNORE
INTO hashtags(name)
VALUES ('word1'), ('word2'), ('word3'), ('word4');

您可以获取该单词列表并找到所有(旧的和新的)主题标签:

SELECT ht.id
FROM hashtags ht
WHERE ht.name in ('word1', 'word2', 'word3', 'word4')

然后你可以在你的行和主题标签之间插入一个映射:

INSERT
INTO hashtag_map (document_id, hashtag_id)
SELECT NEW.document_id, ht.hashtag_id
FROM hashtag ht
WHERE ht.name in ('word1', 'word2', 'word3', 'word4')
于 2012-11-13T18:27:27.163 回答