问题对人有帮助,内容完整,我也想知道答案 0 问题没有实际价值,缺少关键内容,没有改进余地 比如我现在有个文章表和一个文章标签表(关联表)。 一篇文章对应着n个标签(n不定)(标签存储的是id)。 若用户修改了文章的标签,我现在的办法是先删除关联表的关联数据,然后再新增关联数据。 这种方法是否可行?还有其他方法可以解决这个问题吗? 关注 | 5 收藏 评论邀请回答编辑举报历史版本 tpwonline 134 7月15日提问 提交评论 × 评论支持部分 Markdown 语法:**bold**_italic_[link](http://example.com)> 引用`code`- 列表。同时,被你 @ 的用户也会收到通知
答案对人有帮助,有参考价值 1 答案没帮助,是错误的答案,答非所问 已采纳 有三种第一:replace into 但是问题多多第二:你这种第三:更新子表时分为delete删除原来有的、update更新原来有的、insert插入原来没有的这三种操作 评论 · 1赞赏编辑 toesbieya 416 7月15日回答 提交评论 × 评论支持部分 Markdown 语法:**bold**_italic_[link](http://example.com)> 引用`code`- 列表。同时,被你 @ 的用户也会收到通知
答案对人有帮助,有参考价值 0 答案没帮助,是错误的答案,答非所问 List<Integer> oldList = Lists.newArrayList(1, 2, 3, 4); List<Integer> newList = Lists.newArrayList(1, 3, 5, 7); List<Integer> oldListCopy = Lists.newArrayList(); oldListCopy.addAll(oldList); //获取被删除的标签 oldList.removeAll(newList); //获取新增的标签 newList.removeAll(oldListCopy); //删除id在oldList里的标签 //添加newList里的标签 一般来说都是这么干的 评论赞赏编辑 Dr_Joseph 297 7月15日回答 提交评论 × 评论支持部分 Markdown 语法:**bold**_italic_[link](http://example.com)> 引用`code`- 列表。同时,被你 @ 的用户也会收到通知
答案对人有帮助,有参考价值 0 答案没帮助,是错误的答案,答非所问 这是比较简单但是效果好的做法‘缺点是子表的自增键会容易加上去 复杂一点的话 先查出库里走的子表数据列表,和提交的列表比对。多出来的加到库里’少了的删除 评论 · 2赞赏编辑 xialeistudio 19.7k 7月15日回答 提交评论 × 评论支持部分 Markdown 语法:**bold**_italic_[link](http://example.com)> 引用`code`- 列表。同时,被你 @ 的用户也会收到通知
答案对人有帮助,有参考价值 0 答案没帮助,是错误的答案,答非所问 INSERT INTO `news_relation`(`news_id`, `tag_id`) VALUES(100, 1), (100, 2) ON DUPLICATE KEY UPDATE `news_id`=VALUES(`news_id`); DELETE FROM `news_relation` WHERE `news_id`=100 AND `tag_id` NOT IN(1, 2); 评论赞赏编辑 start2004 371 7月16日回答 提交评论 × 评论支持部分 Markdown 语法:**bold**_italic_[link](http://example.com)> 引用`code`- 列表。同时,被你 @ 的用户也会收到通知