`
weitao1026
  • 浏览: 1052654 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PostgreSQL中表名、字段名大小写问题

 
阅读更多

如果有视图依赖该表则该表不能删除

 

学习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

分享到:
评论

相关推荐

    MySql下实现查询表名不区分大小写

    在MySQL数据库管理中,表名和数据库名的大小写敏感性是一个重要的配置选项,尤其是在不同操作系统环境下。在Linux系统中,默认情况下,MySQL是严格区分大小写的,这与Windows环境下的行为形成鲜明对比,后者默认不...

    PostgreSQL数据库对象名大小写敏感的解决方法

    本文将深入探讨PostgreSQL数据库对象名大小写敏感的问题,以及如何在实践中妥善处理这一特性。 #### PostgreSQL与大小写敏感性 PostgreSQL是一个功能强大的开源关系型数据库系统,它遵循SQL标准,同时也提供了许多...

    mysql表名忽略大小写配置方法详解

    MySQL数据库在处理表名、数据库名以及列名时的大小写规则可能会因操作系统的差异而有所不同。在Linux系统中,默认情况下MySQL是区分大小写的,而在Windows系统中则通常是不区分大小写的。对于开发者来说,保持一致性...

    数据库建表快捷转换大小写.rar

    1. **大小写敏感性**:大部分关系型数据库系统,如MySQL、PostgreSQL,都是大小写敏感的,这意味着在创建表名、字段名或SQL查询语句时,大小写必须严格匹配。如果不一致,可能会导致语法错误或查询结果不正确。 2. ...

    postgresql学习

    - 枚举值在磁盘上占用 4 个字节, 枚举类型的值是大小写敏感的。 3. **几何类型** - **基本类型**包括点(point)、线段(lseg)、箱(box)、路径(path)、多边形(polygon)和圆(circle)。 - **运算符**包括平移(`+`, `-...

    三大写怎么写.docx

    在某些数据库系统如MySQL,不区分大小写,但在PostgreSQL和Oracle中,大小写敏感。因此,开发人员应统一命名规则,如始终使用下划线分隔单词并全小写(`table_name`),或使用某种大小写约定,以便在不同系统间保持...

    C#访问PostGreSQL数据库的方法

    PostgreSQL对字段名的大小写不敏感,但为了代码可读性和一致性,建议保持表名和字段名的驼峰式或全小写风格。 最后,对于大量数据的处理,可能需要考虑使用`NpgsqlDataReader`来提高性能,因为它不会一次性加载所有...

    Go-planter从PostgreSQL表生成PlantUMLER图文本描述

    Go-planter通过连接到PostgreSQL数据库,查询元数据来获取表的信息,如表名、字段名、字段类型、主键、外键等。这些信息随后被转化为PlantUML语言,这是一种流行的、易于读写的文本描述语言,用于绘制各种图表,包括...

    ch01_ 初识数据库1

    在Windows系统中,默认情况下表名和字段名不区分大小写,而在Linux/Mac系统中,它们是区分大小写的。为了简化学习,本教程已将所有表名和字段名调整为小写。常数的表示也有固定格式,例如字符串用单引号括起,日期...

    数据库命名

    注意,不同的数据库系统对大小写敏感性有不同的处理,如MySQL默认不区分大小写,而PostgreSQL则区分。 6. **避免特殊字符**:除下划线(_)外,尽量避免使用其他特殊字符,以保证兼容性。 接下来,我们关注"源码...

    web连接数据库时注意事项

    在PostgreSQL中,表名默认是不区分大小写的。这意味着即使你在创建表时使用了大写字母,数据库会将其视为字符串,因此建议使用小写字母或者下划线来命名,以避免混淆和潜在的错误。 2. **拼写检查**: 在编写SQL...

    paAdmin3使用基础教程

    - 注意表名和字段名应使用小写字母,以避免大小写引起的错误。 3. **表的修改**: - 右键点击要修改的表,选择相应操作,如添加新字段等。 - 查看数据的所有行,可以修改表中的数据,但前提是该表必须有主键。 #...

    pgadmin III简单操作(1).docx

    创建表时需要注意表名和字段名应使用小写字母,因为 PostgreSQL 区分大小写。如果使用大写字母或混合大小写字母,系统将会自动加上双引号来表示。 #### 六、表的修改 - 右键选择需要修改的表,然后选择“新建对象...

    数据库命名公约:数据库命名约定和最佳实践

    4. 大小写约定:根据数据库系统的惯例,使用大写字母表示对象名(如MySQL),或者下划线分隔单词(如PostgreSQL)。 二、数据库命名 1. 数据库名:应简短且具有描述性,通常反映数据库的主要功能或用途。例如,`...

    MySQL思维导图.pdf

    `\c`用于取消当前命令,而MySQL对大小写不敏感,但推荐将关键字大写,库名、表名和字段名小写。SQL语句支持折行,但不能将完整单词拆开。创建数据库时,可以使用`CREATE DATABASE`语句,并指定字符集和校验规则,...

    数据库物理设计.pdf

    遵循可读性原则,采用大小写格式化名称,如CustAddress;表意性原则,确保表名能反映数据内容;以及长名性原则,尽量避免使用缩写,以减少误解。 再者,选择正确的字段类型对于存储空间和查询性能都有显著影响。在...

    数据库设计文档.doc

    通常,表名、字段名应简洁明了,避免使用特殊字符和保留字。如果采用特定的命名约定,比如下划线分隔单词,或者使用复数形式表示集合,应在文档中明确指出。如果与机构标准有出入,需要解释原因和具体差异。 逻辑...

    VB+ASP+ACCESS,使用接口操作远程数据

    7. 操作数据:通过`rs.Fields("字段名")`读取数据,`rs.AddNew`添加新记录,`rs.Update`保存更改,`rs.Delete`删除记录。 8. 关闭资源:确保在操作完成后关闭Recordset和Connection,释放资源。 在ASP中,操作流程...

    sql建库建表

    虽然大部分SQL语句在不同的数据库管理系统(如MySQL, PostgreSQL, Oracle, SQL Server等)中通用,但每个系统可能有自己的特性和扩展。因此,在实际应用中,了解特定DBMS的语法差异是很重要的。 总结: SQL建库建表...

    数据库设计60个技巧

    34. **设计易于理解的命名规范**:表名、字段名应清晰易懂,避免使用内部含义。 35. **使用统一的数据格式**:日期时间、货币等应有统一的表示方式。 36. **避免大数据量的JOIN操作**:JOIN操作可能导致性能下降,...

Global site tag (gtag.js) - Google Analytics