PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tại sao PostgreSQL không thích tên bảng UPPERCASE?

đặt tên bảng vào dấu ngoặc kép nếu bạn muốn postgres giữ nguyên chữ hoa cho các tên quan hệ.

Trích dẫn một số nhận dạng cũng làm cho nó phân biệt chữ hoa chữ thường, trong khi các tên chưa được trích dẫn luôn được xếp thành chữ thường . Ví dụ:các mã định danhFOO, foo và "foo" được PostgreSQL coi là giống nhau, nhưng "Foo" và "FOO" khác với ba mã này và lẫn nhau. (Việc gấp các tên chưa được trích dẫn thành chữ thường trong PostgreSQL không tương thích với tiêu chuẩnSQL, điều này nói rằng các tên chưa được trích dẫn phải được xếp thành chữ hoa. Do đó, foo phải tương đương với "FOO" chứ không phải "foo" theo tiêu chuẩn. Nếu bạn muốn viết các ứng dụng di động mà bạn được hỗ trợ luôn trích dẫn một tên cụ thể hoặc không bao giờ trích dẫn nó .)

từ tài liệu (tôi nhấn mạnh)

ví dụ với trích dẫn:

t=# create table "UC_TNAME" (i int);
CREATE TABLE
t=# \dt+ UC

t=# \dt+ "UC_TNAME"
                      List of relations
 Schema |   Name   | Type  |  Owner   |  Size   | Description
--------+----------+-------+----------+---------+-------------
 public | UC_TNAME | table | postgres | 0 bytes |
(1 row)

ví dụ mà không cần trích dẫn:

t=# create table UC_TNAME (i int);
CREATE TABLE
t=# \dt+ UC_TNAME
                      List of relations
 Schema |   Name   | Type  |  Owner   |  Size   | Description
--------+----------+-------+----------+---------+-------------
 public | uc_tname | table | postgres | 0 bytes |
(1 row)

Vì vậy, nếu bạn đã tạo bảng với dấu ngoặc kép, bạn không nên bỏ qua dấu ngoặc kép khi truy vấn nó. Nhưng nếu bạn bỏ qua dấu ngoặc kép khi tạo đối tượng, tên sẽ được chuyển thành chữ thường và do đó sẽ có tên chữ hoa trong truy vấn - theo cách này, bạn sẽ "không nhận thấy" nó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ĐẶT HÀNG tùy chỉnh theo giải thích

  2. Làm cách nào để thay đổi quyền sở hữu tất cả các đối tượng trong một lược đồ cụ thể trong PostgreSQL?

  3. Postgres:Riêng biệt nhưng chỉ dành cho một cột

  4. Chạy Kho dữ liệu trên PostgreSQL

  5. JPA tuôn ra so với cam kết