Để cụ thể hơn ... cursor.execute()
phương thức nhận một đối số tùy chọn chứa các giá trị được trích dẫn và nội suy vào mẫu / câu lệnh SQL. Điều này KHÔNG được thực hiện với %
đơn giản nhà điều hành! cursor.execute(some_sql, some_params)
là KHÔNG giống với cursor.execute(some_sql % some_params)
Python DB-API
chỉ định rằng bất kỳ trình điều khiển / mô-đun tuân thủ nào phải cung cấp .paramstyle
thuộc tính có thể là bất kỳ thuộc tính nào trong số 'qmark', 'số', 'được đặt tên', 'định dạng' hoặc 'pyformat' ... để về lý thuyết, một thuộc tính có thể điều chỉnh các chuỗi truy vấn SQL của bạn thành biểu mẫu được hỗ trợ thông qua xem xét nội dung và munging nhỏ. Điều này vẫn sẽ an toàn hơn so với việc tự mình cố gắng trích dẫn và nội suy các giá trị vào các chuỗi SQL của bạn.
Tôi đặc biệt thích thú khi đọc Cảnh báo Không bao giờ, không bao giờ, KHÔNG BAO GIỜ sử dụng Python chuỗi ... nội suy ... Thậm chí không bằng súng. trong tài liệu PsycoPG.