代码之家  ›  专栏  ›  技术社区  ›  Steven Mercatante Dimitri Kopriwa

相对于一个项目更新n个项目的最佳方式是什么?

  •  2
  • Steven Mercatante Dimitri Kopriwa  · 技术社区  · 16 年前

    很抱歉,这个标题可能没有意义,所以让我描述一下我的问题。我有一个问题表和一个答案表。一个问题有很多答案。当我创建一个问题时,我只是插入尽可能多的答案。当我必须更新答案(添加新答案、编辑现有答案或删除现有答案)时,这个问题就会出现。我目前的策略是简单地删除特定问题的所有现有答案,然后运行新的一批插入。对我来说,这似乎效率很低,现在我遇到了需要维护答案的主ID的情况,删除答案使这变得不可能。如何在不首先删除答案的情况下更新答案?

    谢谢

    3 回复  |  直到 16 年前
        1
  •  1
  •   ksofa2    16 年前

    您能否将添加、编辑和删除作为三种不同的情况处理?

    如果用户想要编辑或删除答案,您可能刚刚显示了它,因此您也可以在他们提交编辑或删除请求时传递其ID。在这种情况下,您可以使用类似“WHERE answer\u id=4”的子句进行更新或删除

        2
  •  1
  •   Paul Rayner    16 年前

    为什么你不能按照以下思路做一些事情:

    UPDATE Answers SET ... WHERE (question_id = ...);
    

    我(或问题)是否遗漏了什么?

        3
  •  0
  •   Louis    16 年前