दस्तावेज़ीकरण पर एक नज़र डालें:
<ब्लॉकक्वॉट>
चर प्लेसहोल्डर हमेशा एक %s
होना चाहिए , भले ही कोई भिन्न प्लेसहोल्डर (जैसे %d
पूर्णांकों या %f
. के लिए फ़्लोट्स के लिए) अधिक उपयुक्त लग सकता है:
>>> cur.execute("INSERT INTO numbers VALUES (%d)", (42,)) # WRONG
>>> cur.execute("INSERT INTO numbers VALUES (%s)", (42,)) # correct
जबकि, आपकी SQL क्वेरी में सभी प्रकार के प्लेसहोल्डर शामिल हैं:
"""INSERT INTO weather_data(temperature,humidity,wind,barometer,updated_on,place_id)
VALUES (%(temperature)f, %(humidity)f, %(wind)f, %(barometer)f, %(date)s, %(place_id)d)"""