pg数据库表名、字段名大小写问题

参考:https://blog.csdn.net/zengchaoyue/article/details/8279744

问题描述:

使用pgAdmin新建了一个表user,添加了id、name、enScore三个字段。在user表中添加了几条记录后,使用select * from user;查询没有问题,会显示user表中的所有记录。在执行select name,enScore from user;查询失败,提示“column enScore does not exist”。
仔细查看建表脚本,发现enScore加了双引号,所以修改查询语句为select name,"enScore" from user;查询成功。

CREATE TABLE test."user"
(
  id integer NOT NULL,
  name character varying(80) NOT NULL,
  "enScore" double precision NOT NULL,
  CONSTRAINT primarykey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE test."user"
  OWNER TO test;

结论:

1)pg数据库对表名、字段名是区分大小写的,通过pgAdmin建表时正常创建,用SQL语句的时候需要加双引号,如果jdbc查询等处,记得使用转义符号。
2)pg在SQL语句中对大小写是不敏感的,
例如select id from user;与select ID from user;结果是一样的,但是select "enScore" from user 是OK的,但select "enscore" from user 是不对的。

posted @ 2020-05-21 17:55  21summer  阅读(4184)  评论(0编辑  收藏  举报