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

问题描述 投票:2回答:1

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

  1. 书籍包含每本书的信息
  2. 标签 - tagid和标签名称(例如301:Suspense,302:Crime,303:Mystery)
  3. Booktags与每本书相关联的标签(例如Bookid 27 TagId 301,BookId 27,tagId 302)

然后,用户可以按标签搜索书籍(我查询Booktags表并找到与特定标签相关的所有书籍。

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

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

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

mysql sql
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.