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

PostgreSQL TypeError:không phải tất cả các đối số được chuyển đổi trong quá trình định dạng chuỗi

Phải có dấu phẩy sau lines[0] để biến nó thành một bộ.

curr.execute("""
    SELECT fields.fieldkey
    FROM fields
    LEFT JOIN zone ON zone.fieldkey=fields.fieldkey
    WHERE zone.zonekey = %s;
""", (lines[0],))

execute phương thức đang mong đợi một chuỗi (hoặc một ánh xạ) nó lặp qua chuỗi mà bạn đã cung cấp được bao quanh bởi dấu ngoặc đơn. Vì vậy, nó là cần thiết để làm cho một bộ tuple rõ ràng. Kết quả tương tự, với mã rõ ràng hơn, có thể đạt được bằng cách sử dụng tuple chức năng :

(tuple(lines[0]))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng tự động hóa để tăng tốc độ kiểm tra phát hành trên PostgreSQL

  2. Cách gỡ cài đặt postgresql trên máy Mac của tôi (chạy Snow Leopard)

  3. Tìm và thay thế biểu thức chính quy trong Postgres

  4. Sắp xếp postgreSQL với dấu thời gian

  5. Giá trị mặc định cho hàm postgres cột có đối số