【发布时间】:2017-04-05 17:44:51
【问题描述】:
我有两个表一个是 blog_posts 另一个类别
id | post_name
------ | ------
1 | title1
2 | title2
id | category_name
------ | ------
1 | category1
2 | category2
对于帖子和类别的映射,我正在使用另一个表格,例如
id | post_id | category_id
------ | ------- | -----------
1 | 1 | 2
2 | 2 | 1
3 | 2 | 2
所以现在当我更新帖子并为帖子选择一些不同的类别 ID 时,我应该如何更新映射表?
我使用的是删除当前正在编辑的帖子的所有映射记录,然后将选定的类别 ID 和帖子 ID 重新插入到映射表中,这种方法是最佳做法吗?请分享你的想法。 谢谢
【问题讨论】:
-
使用 post_id, new category_id 为每个选择的新类别在映射表中添加一个新行
-
这种方法通常用于简化流程,因此您不必识别新的和已删除的类别
-
代替 UPDATE 或 INSERT 使用 REPLACE 查询在表中创建记录。如果记录不存在,REPLACE 将创建记录
-
当您选择不同的类别时,首先获取该帖子的所有存储类别。之后为数据库帖子类别和表单帖子类别创建数组。在采取差异删除类别表单后,未选择但存储在数据库中。用于插入所选帖子类别和数据库帖子类别的差异。例如,您可以检查答案。