2012-03-24 13 views
12

の近くに構文エラーがこれは私のPythonコードである -sqlite3の - Pythonコードを使用して更新テーブル - %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)) 

これは私がSQLite3のマネージャ(Firefox拡張機能)にしてみてくださいSQL文です

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.OperationalError: near "%": syntax error 

私はSO、チュートリアルと自己トラブルシューティングを含む多くのウェブ検索を試してみましたが、これを - 私が手にエラーがありますエラーは消えません。私はここで間違って何をしているのですか?

答えて

24

MySQLの%sとは異なり、PythonのSQLite実装では?のプレースホルダが使用されていると思います。 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

関連する問題