如何强制SQLite不仅有小写字段?

时间:2017-10-24 08:58:24

标签: php postgresql sqlite

我们有一个庞大的PHP(HHVM)应用程序。 生产数据库是postgresql,并且有许多字段,如:userId, accountId.在pgsql中,字段区分大小写,我们必须引用它们:"accountId", "userId".

对于测试我们想使用sqlite内存数据库,但字段名称在select的结果中都是小写的。 sqlite数据库中的这些字段类似于userid和accountid。 所以对象的属性不一样,造成很多困难。 例如,条目不会有$entry->userId,而是$entry->userid.

是否有办法不仅包含小写字段名称?

3 个答案:

答案 0 :(得分:2)

好吧,它似乎按预期工作:

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 installers.

很简单

答案 1 :(得分:0)

可能您最好的选择是修改SQL语句以使用引用的列别名:

SELECT
  accountid AS "accountId",
  userid AS "userId",
  ...
FROM
  ...

所有SQL引擎都支持(几乎?)并使您的语句可移植。

答案 2 :(得分:-2)

没有,但你可以用你的代码模型绑定你的列。有很多数据库可以做到这一点