如何更新多对多表:删除,删除全部,插入,重新插入

时间:2011-10-27 08:41:07

标签: mysql sql

我对php / mysql很新,这是我从一开始的第一个真正的独奏项目。我正在为apache / php上的mysql库创建一个数据库,我在数据库的结构和组织方面遇到了一些问题。 我有以下表格:

  1. 图书包含每本书的信息
  2. 标签 - tagid和标签名称(例如301:Suspense,302:Crime,303:Mystery)
  3. 预订与每本书相关联的标签(例如Bookid 27 TagId 301,BookId 27,tagId 302)
  4. 然后,用户可以按标签搜索图书(我查询Booktags表格,找到与特定标签相关的所有图书。

    在输入或更新图书信息时,用户输入标签列表(以逗号分隔)或从预定义的弹出列表中选择。

    我现在要谈到更新信息的问题。如果用户选择更改为书籍定义的现有标签,我想删除不再需要的标签。我应该根据新列表检查现有标签并删除不相关的标签吗?或者删除与本书相关的所有标签并仅插入相关标签(假设在某些情况下我将删除并重新插入相同的内容)是否更好?

    任何建议都会受到赞赏(如果您认为我是以愚蠢或低效的方式处理事情,请建议一种更好的方法)

1 个答案:

答案 0 :(得分:2)

只需删除每个标签并插入新闻即可。 它会耗费更少的时间和更少的能源