Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 哪一个更好,删除所有关系后创建全部,或者删除或检查数据库中是否存在后创建_Database - Fatal编程技术网

Database 哪一个更好,删除所有关系后创建全部,或者删除或检查数据库中是否存在后创建

Database 哪一个更好,删除所有关系后创建全部,或者删除或检查数据库中是否存在后创建,database,Database,例如 博客有标签A、B、C 将博客标记更新为B、C、D时 删除所有A、B、C标记关系并创建B、C、D关系 获取上一个标记列表并进行比较后,删除A并创建D关系 哪种做法更好 Blog ---------- |id|title| tag --------- |id|name| BlogHasTag ----------------- |id|blogId|tagId| 获取上一个标记列表并进行比较后,删除A并创建D关系 在我看来,在数据库方面更好的做法应该是只删除和创建必要的数据BlogHas

例如

博客有标签A、B、C

将博客标记更新为B、C、D时

  • 删除所有A、B、C标记关系并创建B、C、D关系
  • 获取上一个标记列表并进行比较后,删除A并创建D关系
  • 哪种做法更好

    Blog
    ----------
    |id|title|
    
    tag
    ---------
    |id|name|
    
    BlogHasTag
    -----------------
    |id|blogId|tagId|
    
    获取上一个标记列表并进行比较后,删除A并创建D关系

    在我看来,在数据库方面更好的做法应该是只删除和创建必要的数据
    BlogHasTag.id
    如果删除所有标记并重新添加,可能会浪费

    但是,如果您想阻止额外的进程获取上一个标记列表并进行比较,您可以更改发出update语句的方式

    您喜欢哪种更新样式:

  • 在完成所有编辑后发出update语句
  • 用户在编辑模式下删除标记A时发出update语句

  • 你应该显示你的数据table@JimmyN我添加表格信息