Với đặc tả DB API của Python, bạn có thể chuyển đối số tham số đến phương thức execute(). Một phần của tuyên bố của tôi là một mệnh đề WHERE IN và tôi đã sử dụng một bộ dữ liệu để điền vào IN. Ví dụ:Gửi thông số cho DB .execute cho WHERE IN ... INT danh sách
params = ((3, 2, 1),)
stmt = "SELECT * FROM table WHERE id IN %s"
db.execute(stmt, params)
Nhưng khi tôi chạy vào trường hợp tham số chỉ là một bộ gồm 1 mục, thực thi không thành công.
ProgrammingError: ERROR: syntax error at or near ")"
LINE 13: WHERE id IN (3,)
Làm cách nào để tôi có được bộ dữ liệu hoạt động đúng với điều khoản?
Sửa tôi nếu tôi sai, nhưng ví dụ của bạn không chỉ chuyển mục đầu tiên đến mệnh đề IN? > CHỌN * TỪ bảng WHERE id IN (3) –
@John: bạn nói đúng, cảm ơn. Cập nhật câu trả lời với nhiều thông tin hơn. – bernie
Cảm ơn bạn, Adam. –