学习hibernate的时候,数据库用了PostgreSQL,第一节课就抛错,User实体映射没有死活不能导出表。总是提示这一句:

ERROR: syntax error at or near "User"。

后来发现,如果把表名设成t_user这样的就行了,难道PostgreSQL不能用大写?又试试T_User,没有报错,到数据库里一看,哎?还是t_user!大写自动变小写了。PostgreSQL不识别大小写?用pgAdmin图形化界面创建一个User表完全没问题啊。之后又试验了一下表中的字段,发现也是这个问题,总是提示ERROR: syntax error at or near "…"

来在看pgAdmin的SQL窗口时突然发现(很多时候仔细观察真的很重要啊),有大写的地方都加了双引号
         

哦,突然开窍了,不是不识别大小写,奥秘原来在双引号上。

先用SQL语句试试建立一个名字都是大写字母的表,记得表名加上双引号,运行无错误,成功!
       Hibernate例子中有两种解决办法,一种呢,就是表名用小写,另一种就是大写的加双引号,当然,这时候你会问,俩双引号也不行啊,用转义符号呗。

JPA例子中:

小结:

  1. PostgreSQL对表名、字段名都是区分大小写的。在图形化界面可以正常新建。用SQL语句的时候需要加双引号,如果jdbc查询等处,记得使用转义符号。
  2. PostgreSQL在SQL语句中对大小写是不敏感的

select ID from t_user  和 select id from t_user

都会从t_user这个表中查询id这个字段。如果要查询大写字母的字段,同样要加上双引号:select "ID" from t_user

PostgreSQL中表名、字段名大小写问题相关推荐

  1. 数据库表名字段如何大小写转换

    按照以下步骤可以很方便满足数据库表名字段名转换的需求: 1.通过数据库客户端将数据库表结构导入到本地脚本文件: 2.将脚本文件内容复制到word文档中,按快捷键:CTRL+F3进行大小写字段的切换: ...

  2. sql大小写敏感吗_postgresql基础:表名字段名是大小写敏感的么

    很多人知道postgresql的表名字段名是大小写不敏感的,比如这样一个sql查询 select ID,name, TYPE, score FROM pubLIC.STUdent_SCOre limi ...

  3. oracle中更改表名语句,转:取Oracle 表名 字段名 注释等实用语句

    1.查找表的所有索引(包括索引名,类型,构成列): select t.*,i.index_type fromuser_ind_columns t,user_indexes i where t.inde ...

  4. oracle查询表的字段类型有哪些,oracle中查询表的信息,包括表名,字段名,字段类型,主键(精)...

    通过搜索摸索,总结了一下 oracle 中查询表的信息,包括表名,字段名,字段类型,主键, 外键唯一性约束信息,索引信息查询 SQL 如下,希望对大家有所帮助: 1.查询出所有的用户表 select ...

  5. 查询数据库里所有表名,字段名的语句

    查询数据库里所有表名,字段名的语句 SQL查看所有表名: 1.select    name    from    sysobjects    where    type='U' 2.select * ...

  6. Mysql 数据库名 表名 字段名最长长度

    Mysql表名 字段名最长长度 数据库名字最长为 < 64字符 数据表名字最长为 < 64字符 字段名字最长为 < 64字符 一个中文占两个英文字符

  7. mysql字段名大写好处_数据库的表名字段名大小写问题

    今天发现它真的是一个问题. 拿我最喜欢的Oracle来说吧.一般情况下,建表不管大小写,建完表名.字段名总是大写的,这样你不得不在单词之间加下划线,从而增加了字段名长度,有时就超长了.在select的 ...

  8. JPA映射数据库mysql表名,字段名大小写转化,下划线分割.

    遇到小写加下划线"_" 的命名 spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm ...

  9. sql语句查询Oracle|sql server|access 数据库里的所有表名,字段名

    Oracle select * from user_tables where table_name = '用户名' 如果是用该用户登录使用以下语句: SELECT * FROM USER_TABLES ...

  10. Oracle对表名大小写敏感吗,让Oracle 大小写敏感 表名 字段名 对像名

    一.解决方案 1.在表名.字段名.对象名上加上双引号,即可实现让oracle大小写区分. 2.但是这又引起了另一个问题:在数据库操作中,sql语句中相应的表名.字段名.对象名上一定要加双引号. 解决办 ...

最新文章

  1. 面试官问我,Redis分布式锁如何续期?懵了。
  2. 最强代码生成器平台,杀疯了!
  3. maven3.5.0在win10中的安装及环境变量配置
  4. 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
  5. 后台开发必读书籍--计算机操作系统
  6. UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
  7. oracle中rac是什么意思,Oracle中HA、RAC、Datagurad区别
  8. SSM项目使用GoEasy 实现web消息推送服务
  9. SAP Marketing Cloud里获取Contact Interaction的postman请求
  10. ubuntu修改顶栏颜色
  11. 为什么python的命名不能以数字开头_python变量不能以数字打头
  12. Spring学习总结(31)——Spring Bean 生命周期总结
  13. 机器学习理论基础 集成学习前期基础--分类决策树与回归决策树
  14. 用博文中的方法-r -d \t试了下conlleval测试crf++的输出
  15. 「06」回归的诱惑:一文读懂线性回归(Python实战篇)
  16. 可能确实存在脂肪味觉(隐式味觉)
  17. Linux环境安装PostgreSQL-12.2
  18. linux下搜狗输入法wps无法使用,搜狗输入法能在WPS下使用,但其他地方不能输入...
  19. cents OS 重装yum,配置阿里yum源
  20. 多智能体强化学习:合作关系设定下的多智能体强化学习

热门文章

  1. React个Vue的对比
  2. Stream流中的常用方法_map
  3. 使用Stream流的方式,遍历集合,对集合中的数据进行过滤
  4. Maven(2)--生命周期以及插件目标
  5. java 技术点_Java的21个技术点和知识点归纳
  6. 调用远程service aidl接口定义
  7. windows安装Python+tensorflow机器学习开发环境搭建
  8. SpringCloud学习笔记:服务注册与发现Eureka(2)
  9. matlab公共函数之保存YUV数据
  10. JProfiler9安装 监控Tomcat