Php 删除和插入vs更新表上的行
我有一个web表单,用户可以为单个提供者(IDProvider)选择多个可用项目(idFamilia),如下所示 这些值保存在此表中Php 删除和插入vs更新表上的行,php,mysql,database,codeigniter,Php,Mysql,Database,Codeigniter,我有一个web表单,用户可以为单个提供者(IDProvider)选择多个可用项目(idFamilia),如下所示 这些值保存在此表中 ----------------------------- | idProveedor | idFamilia | ----------------------------- | 5 | 1 | ----------------------------- | 5 | 2 | -
-----------------------------
| idProveedor | idFamilia |
-----------------------------
| 5 | 1 |
-----------------------------
| 5 | 2 |
-----------------------------
| 6 | 2 |
-----------------------------
创建提供程序后,可以对其进行编辑,并可以更改为idFamilia选择的值。因此,我有三种不同的场景来描述可能发生的情况:
- 行数保持不变,我只需要编辑idFamilia的值
- 一些项目已从选择中删除,我需要搜索表中的值并删除这些行
- 添加了新项目,我需要插入这些附加值
你能推荐一个教程或例子来用另一种方法吗?我总是会删除并重新创建它们
虽然这增加了一些性能损失,但它使代码易于理解和维护。除非您是Uber、Google、Facebook、Amazon或其他世界级应用程序,否则优化此应用程序所带来的好处远小于成本:开发、调试和维护时间。更新只会使用较少的处理更新指定字段,与删除/插入相比,如果您计划进行安全性/错误预防等检查,则会有更多的处理和更大的出错空间。您还需要考虑,如果要删除/插入的行的ID有任何依赖于该ID的内容,那么在执行删除和插入操作时,您绝对不会从性能方面获得任何好处。为什么?因为无论是执行删除还是更新,系统都必须找到该行。为什么系统要做这么多的工作却没有明显的好处?嗯,这个表的ID没有任何依赖于它们的东西。我想我最终会做删除插入,我正试图找到一个教程或示例以另一种方式来做。我可能会使用Ajax来添加或删除条目。是的,如果你必须将更新与插入结合起来,这是一件痛苦的事,因为标准的行数在前后不一样。