Вам нужно три таблицы для достижения этой цели (т.е. без дублирования данных или неправильного использования полей):
Содержимое (вещи, которые пишут люди, имеющие теги) Теги (список тегов) ContentTags (aсписок тегов применительно к контенту)
Примером может быть статья «abc» с тегами «foo» и «bar».
Контент будет содержать строку с ContentID (1, например), и содержание (abc).Теги будут иметь две строки: каждая с TagID (1, 2 соответственно) и TagText (foo, bar) ContentTags также будет иметь две строки с ContentTagID (1, 2), ContentID (1, 1) и TagID (1, 2).
Таким образом, вы можете загружать различные теги (хранящиеся в таблице тегов) и связывать их со статьями (с записями в ContentTags).
Чтобы вставить новый тег, добавьте его в таблицу тегов, а затем добавьте в ContentTags запись, связывающую только что добавленный тег с только что добавленной статьей.
Чтобы проверить, является литег существует для новой статьи, выполните запрос к тегам (например, «ВЫБЕРИТЕ TagID ИЗ ТЕМ, ГДЕ TagText = $ tagText»).Если вы получаете результат, тег существует, и вам просто нужно добавить запись в ContentTags с только что извлеченным TagID и ArticleID только что добавленной статьи.
Надеюсь, этонекоторая помощь,