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],))
Vì 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]))