私は、(ユーザー入力ではなく) 外部 API から取得した情報に基づいてデータベースを更新する Web アプリケーション用のヘルパー関数を作成しています。次のコードがありますが、Bandit Python パッケージによって「安全でない」とマークされています。
理想的には、更新する列をハードコーディングするような方法で関数を作成できますが、これを動的に実行することも可能であるべきだと思います。
これはテーブルを更新する安全な方法ですか (SQL インジェクションは不可能です)?
列名が SQL 予約キーワード である場合、またはスペース、句読点、または国際文字が含まれている場合は、列名をバッククォートで囲む必要があります。また、列名のバッククォート文字が 2 つのバッククォート文字に置き換えられていることを確認してください。
私は、format() の代わりに f string を使用することを好みます。
列名が SQL 予約キーワード である場合、またはスペース、句読点、または国際文字が含まれている場合は、列名をバッククォートで囲む必要があります。また、列名のバッククォート文字が 2 つのバッククォート文字に置き換えられていることを確認してください。
リーリー私は、format() の代わりに f string を使用することを好みます。