我们有一个庞大的PHP (HHVM)应用程序。生产数据库是postgresql,并且在pgsql中有许多字段,如:userId, accountId.字段区分大小写,我们必须引用它们:"accountId", "userId".
为了进行测试,我们希望使用sqlite数据库,但是字段名在select的结果中都是小写。sqlite数据库中的这些字段类似于userid和accountid。因此,对象的性质是不一样的,这就造成了很多困难。例如,一个条目将没有$entry->userId,而是$entry->userid.
是否有方法不仅有小写字段名?
发布于 2017-10-24 12:40:59
嗯,它似乎像预期的那样起作用了:
drop table if exists "MyTable";
create table "MyTable"("MyId" int, "MyStr" text);
insert into "MyTable" values (1, 'str');
select * from "MyTable";
MyId MyStr
---------- ----------
1 str
select sqlite_version();
sqlite_version()
----------------
3.9.1另见SqlFiddle
不管怎样,我建议在本地安装Postgres。使用他们的GUI安装程序。是很简单的
发布于 2017-10-24 12:24:35
您最好的选择可能是修改SQL语句以使用引用的列别名:
SELECT
accountid AS "accountId",
userid AS "userId",
...
FROM
...这是由(几乎?)所有SQL引擎,并使您的语句可移植。
发布于 2017-10-24 09:04:16
不,没有,但您可以将列与代码模型绑定。有许多数据库库可以做到这一点。
https://stackoverflow.com/questions/46906188
复制相似问题