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

psycopg2 không thể tìm thấy bất kỳ bảng nào sau khi kết nối

Tên bảng của bạn UsersCompanies cả hai đều bắt đầu bằng một chữ cái viết hoa. PostgreSQL sẽ chuyển đổi tất cả các số nhận dạng thành chữ thường (theo mặc định), như bạn có thể thấy từ thông báo lỗi:

psycopg2.ProgrammingError: relation "users" does not exist

Nơi users được viết bằng tất cả các chữ thường. Điều này là cần thiết nếu bạn muốn tuân thủ nghiêm ngặt tiêu chuẩn SQL (như PostgreSQL nổi tiếng). Bạn có thể giải quyết vấn đề này theo hai cách:

Giải quyết nó trong cơ sở dữ liệu của bạn:

Tuân thủ quy ước chung và đổi tên bảng của bạn tất cả đều là chữ thường.

Giải quyết nó trong mã của bạn:

Trích dẫn các số nhận dạng của bạn (tên bảng của bạn trong trường hợp này) để PostgreSQL sẽ giữ nguyên chúng:

cur.execute(""" SELECT * from "Users" """)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - Cột bí danh và CÓ

  2. PostgreSQL VIEWS có được tạo mới mỗi khi chúng được truy vấn không?

  3. Trừ giờ cho hàm now ()

  4. Cách đóng lỗ hổng bảo mật trong PostgreSQL

  5. 3 cách để kiểm tra kiểu dữ liệu của cột trong PostgreSQL