MySQLdb を使用して 3 つの変数を渡す削除クエリを実行しようとしています。クエリは次のように実行されます。
self.cursor.execute("""DELETE er.* FROM extension_recording er,
extension e, client c
WHERE er.extension_id = e.id AND e.client_id = c.id
AND c.parent_client_id = %s
AND DATE(er.cr_date) BETWEEN '%s' AND '%s'""" ,
(client_id, start_date, end_date))
インデントを許してください。インデントなしでは読みにくいようです。
そして、何が起こるかは次のとおりです。TypeError: not all arguments converted during string formatting
SQL を文字列としてカーソルに渡そうとしましたが (これは SQL インジェクションに対して脆弱であることはわかっていますが、テストしただけです)、結果は同じです。私はSQLを調べましたが、問題ないようです。
これは、クエリ内の単一引用符で囲まれた日付と関係がありますか? または、他の何か?