Как обновить таблицу «многие ко многим»: удалить, удалить все, вставить, вставить заново

#mysql #sql

#mysql #sql

Вопрос:

Я совсем новичок в php / mysql, это мой первый настоящий сольный проект с самого начала. Я создаю базу данных для библиотеки в mysql на apache / php, и у меня возникли некоторые проблемы со структурой и организацией базы данных. У меня есть следующие таблицы:

  1. Книги содержат информацию о каждой книге
  2. Теги — идентификатор тега и имя тега (например, 301: Неизвестность, 302: Преступление, 303: Тайна)
  3. Booktags теги, связанные с каждой книгой (например, Bookid 27, TagID 301, BookID 27, TagID 302)

Затем пользователь может выполнять поиск книг по тегу (я запрашиваю таблицу Booktags и нахожу все книги, связанные с определенным тегом.

При вводе или обновлении информации о книге пользователь вводит список тегов (через запятую) или выбирает из предопределенного всплывающего списка.

Теперь я перехожу к вопросу об обновлении информации. Если пользователь решит изменить существующие теги, которые были определены для книги, я хочу удалить те, которые больше не нужны. Должен ли я сверить существующие теги с новым списком и удалить те, которые не имеют отношения к делу? Или лучше удалить все теги, связанные с этой книгой, и вставить только соответствующие (предполагая, что в некоторых случаях я буду удалять и повторно вставлять одно и то же)?

Любые советы будут оценены (также, если вы считаете, что я поступаю глупо или неэффективно, пожалуйста, предложите способ сделать это лучше)

Ответ №1:

Просто удалите все теги и вставьте новости. Это будет стоить меньше времени и меньше энергии