使用“;”处理数据更新有很多“;”web应用程序中的关系


Handling updating of data with "has many" relationships in web applications

所以我有一个在我正在构建的web应用程序中出现过几次的情况。我觉得一定有更好的方法来处理这个问题,所以我将详细介绍我目前的技术,希望你们中一些更有经验的开发人员可以提出更好的选择。

本质上,这个问题围绕着在一个使用关系数据库进行数据存储的应用程序中编辑具有多个关系的数据(特别是,我经常使用MySQL)。

那么让我们想象一下这个数据库模式(尽管它可以是任何类似的设置):

用户有多个技能技能属于用户

当我创建一个新用户时,我将填写他们的基本信息以及一些(或根本没有)技能。当我点击保存时,我的应用程序将获取这些数据,并在数据库中保存一个新用户以及零,一个或多个技能条目。

现在,当我编辑这个用户时,将显示一个表单,显示用户的基本信息,以及每个技能的多个字段。我可以选择删除技能,添加新技能或两者兼而有之。

目前我通过使用Javascript删除字段来处理这个问题,我也使用Javascript添加新的技能字段。我想不立即从数据库中删除技能时,"删除"被点击,而只是删除字段,然后删除字段一旦用户提交的形式。

在我的服务器端代码中,通常我会通过删除此用户的所有以前的技能条目,然后保存技能条目中的所有post来处理此问题。另一种选择是只删除不在技能条目id中张贴的技能条目,然后更新每个张贴的记录。

这看起来像是处理这个问题的好方法吗?有没有更好的方法来处理这个问题?我愿意接受任何建议,即使过程与我现在所做的有很大不同。

为了进一步参考,我在PHP和MySQL应用程序中这样做。

谢谢!

每次获得数据时重写所有的Skills字段要好得多。所有的过程都需要一个查询(只是更新查询)。

如果你要删除非post 'ed技能,你将不得不做大量的比较。