आपको SQL कथन और पैरामीटर को अलग-अलग तर्कों के रूप में पारित करने की आवश्यकता है:
cursor.execute(loggit[0], loggit[1])
या वैरिएबल तर्क सिंटैक्स (एक स्प्लैट, *
)
:
cursor.execute(*loggit)
आपका संस्करण SQL कथन वाले टपल में पास करने का प्रयास करता है और पैरामीटर को एकमात्र तर्क के रूप में बाध्य करता है, जहां .execute()
फ़ंक्शन केवल SQL कथन स्ट्रिंग खोजने की अपेक्षा करता है।
दोनों को अलग रखना और शायद केवल SQL कथन को एक चर में संग्रहीत करना अधिक सामान्य है:
loggit = """
INSERT INTO logger (logged_info, dummy)
VALUES
(%s, %s)
"""
cursor.execute(loggit, (bob, dummyVar))