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 @   21summer  阅读(4548)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示