wbrframe
Новичок
Создания облака тегов: добавление тегов
[Задача]
Построить облако тегов по каталогу статей.
[Структура БД] Связь один к множеству
[Текущее решение]
Возможны случаи, что тег уже присутствует в таблице. Тогда нужно увеличивать count.
Для решения этой задачки сделал поле tag_name UNIQUE и воспользовался конструкцией ON DUPLICATE KEY UPDATE:
[Вопрос]
Есть ли более эффективные решения с одним запросом?
[Задача]
Построить облако тегов по каталогу статей.
[Структура БД] Связь один к множеству
PHP:
// -----
`tags`
- tag_id Primary Key
- tag_name UNIQUE
- tag_count DEFAULT 1
// -----
`tag_article`
- tag_id
- article_id
// -----
Возможны случаи, что тег уже присутствует в таблице. Тогда нужно увеличивать count.
Для решения этой задачки сделал поле tag_name UNIQUE и воспользовался конструкцией ON DUPLICATE KEY UPDATE:
PHP:
/* Вставляем новые теги */
INSERT INTO tags(tag_name) VALUE('tag1'),('tag2'),('tag3')
ON DUPLICATE KEY UPDATE tag_count=tag_count+1;
/* Связиваем статью с тегами */
INSERT INTO tag_article(tag_id, article_id)
SELECT
tag_id, id добавляемой статьи
FROM
tags
WHERE tag_name IN ('tag1','tag2','tag3')
Есть ли более эффективные решения с одним запросом?