这是一个创建于 1540 天前的主题,其中的信息可能已经有所发展或是发生改变。
举个例子,现在有个文章-分类的 article_category 多对多关系表,当编辑一篇文章,更新文章的分类之后,怎么更新这个关系表?
一种方式是先直接 delete 相应 article_id 的全部行,然后再 insert 多行 article_id - category_id 的关系。
还有一种方式是先查询得到相应 article_id 的全部行,然后比较当前对应关系和待更新的对应关系,然后删除不再需要的对应关系,新增没有的对应关系。
哪种方式比较好?还有没有其他更好的实现方式?
3 条回复 • 2021-01-19 08:27:12 +08:00
 |
|
1
qiayue 2021-01-18 22:49:34 +08:00 1
个人习惯是先删后插入,代码可以简单点
|
 |
|
2
zeyexe 2021-01-18 22:52:34 +08:00
@ qiayue #1 我也觉得这种方式比较直观。但是不知道有没有什么一次就能更新的方式,而不是这样先删再增。
|
 |
|
3
mcfog 2021-01-19 08:27:12 +08:00 via Android 1
骚操作是加上联合 unique 索引配合严格自增的版本号(或微秒时间戳什么的),先 insert on duplicate update 版本号=x,后 delete 版本号<x
|