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 是不对的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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 让容器管理更轻松!