Mysql 如何使网站和API中使用的SQL查询保持通用

Mysql 如何使网站和API中使用的SQL查询保持通用,mysql,rest,database-design,architecture,Mysql,Rest,Database Design,Architecture,我正在一个使用MySQL作为数据库的web平台上工作。我还在为平台制作一个移动应用程序,并使用API从数据库中获取数据。 保持一个SQL查询集的机制是什么?该查询集可以满足web和移动应用程序API的需求,而不会影响它们的不同需求。 如果要修复sql查询,我必须做两次,我希望避免这样做,因为它容易出错 将数据访问层创建为库。遵守以允许根据需要扩展对象,以处理需求的特殊性 有什么独特的要求?难道你不能将一个共同的web服务公开给两者吗?你是对的,并不是所有的东西都是唯一的。但要充分利用移动和web

我正在一个使用MySQL作为数据库的web平台上工作。我还在为平台制作一个移动应用程序,并使用API从数据库中获取数据。 保持一个SQL查询集的机制是什么?该查询集可以满足web和移动应用程序API的需求,而不会影响它们的不同需求。
如果要修复sql查询,我必须做两次,我希望避免这样做,因为它容易出错

将数据访问层创建为库。遵守以允许根据需要扩展对象,以处理需求的特殊性

有什么独特的要求?难道你不能将一个共同的web服务公开给两者吗?你是对的,并不是所有的东西都是唯一的。但要充分利用移动和web上的UI,内容的呈现方式是不同的,这些都会导致SQL queryfair发生足够大的变化:-)就个人而言,除非两者之间存在显著且成本高昂的差异,否则我会找到一种方法使其发挥作用。rob conklin的解决方案本质上也是这么说的——只是在我的SQL支持的web服务中没有继承的概念。我发现这个链接适合我的需求。不过,我试图理解基于动态WHERE子句的方法对性能的影响。您可以在不使用动态SQL的情况下执行此操作,例如从表中选择*,其中(param1=param1input或param1为null)和(param2=param2 input或param2为null)。谢谢。我正在我的项目中使用Php和Codeigniter。让我检查一下这个概念在那里是否有效。