2010-01-19 27 views
2

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

作为一个方面说明,我使用的是Symfony + Doctrine for PHP。我不知道教义是否有内置的东西可以帮助我,但认为这值得一提。

感谢

回答

1

作为三种不同的情况,你能处理添加,编辑和删除吗?

如果用户想要编辑或删除答案,您可能刚刚显示了答案,因此您也可以在提交编辑或删除请求时传递其ID。在这种情况下,你可以做一个UPDATE或类似条款删除“WHERE answer_id = 4”

+0

我最终添加,编辑和删除作为三个不同的情况 – 2010-01-21 03:59:31

1

为什么你不能只是做线沿线的东西:

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

AM I(或问题),失去了一些东西?

+0

这不会允许单独更新的答案,也不会采取插入的护理新答案或删除现有答案。 – 2010-01-19 03:12:45

相关问题