2012-03-24 18 views
12

पास सिंटैक्स त्रुटि यह मेरा अजगर कोड है -sqlite3 - अद्यतन अजगर कोड का उपयोग कर तालिका -% s

cursor.execute("""UPDATE tasks SET task_owner=%s,task_remaining_hours=%s,      task_impediments=%s,task_notes=%s WHERE task_id=%s""",      (new_task_owner,new_task_remaining_hours,new_task_impediments, 
         new_task_notes,task_id)) 

यह SQL विवरण (Firefox विस्तार)

UPDATE tasks SET task_owner=%s,task_remaining_hours=%d,task_impediments=%s,task_notes=%s WHERE task_id=%d,("sumod",10,"none","test",1) 

मैं SQLite3 प्रबंधक में कोशिश है त्रुटि मैं मिलता है -

sqlite3.OperationalError: near "%": syntax error 

मैं इतना, ट्यूटोरियल और स्वयं समस्या निवारण सहित कई वेब खोज की कोशिश की है, लेकिन इस त्रुटि दूर नहीं जाती है। मैं वास्तव में क्या गलत कर रहा हूँ।

उत्तर

24

मेरा मानना ​​है कि पाइथन का SQLite कार्यान्वयन ? प्लेसहोल्डर्स का उपयोग करता है, MySQLdb के %s के विपरीत। Review the documentation.

cursor.execute("""UPDATE tasks SET task_owner = ? ,task_remaining_hours = ?,task_impediments = ?,task_notes = ? WHERE task_id= ? """, 
    (new_task_owner,new_task_remaining_hours,new_task_impediments,new_task_notes,task_id)) 
+0

धन्यवाद! यह वास्तव में अच्छी तरह से काम किया। – Sumod

संबंधित मुद्दे