我正在使用PDO创建一个小型的activerecord库,我计划支持 MySQL , Sqlite 和 PgSQL 。
我的问题是如何确定查询字符串适用于所有适配器?主要有CRUD语句和一些连接等。我可以遵循的标准适用于所有这些吗?
由于 /托比亚斯
编辑:感谢你的所有答案,但我的问题更多的是关于它们之间的SQL'语法'差异。
答案 0 :(得分:2)
如果您想编写自己的数据库图层,我建议您:
注意:通过支持这些截然不同的RDBM,您将数据库降级为数据存储。请记住,SQLite非常有限。它没有从数字/字符串保存的本机数据类型。例如。它缺少日期处理和间隔,等等。所有三个数据库都支持事务,这些事务在数据库外部维护完整性时对数据完整性至关重要。
编辑:删除了提及5.0的MySQL触发器。
答案 1 :(得分:0)
Here你对zend_db_adapter有一个简单的介绍 - 我想你想要类似的东西(我发布这个只是作为一个例子,看看其他人如何解决你的问题)
答案 2 :(得分:0)
我对此类问题的选择是ADOdb。虽然我从未在PostgreSQL中实际使用它,但它只是在一个碰巧与MySQL一起出生的项目中保存了我的理智,然后迁移到SQL Server,迁移到SQLite并返回到SQL Server。