sql >> データベース >  >> RDS >> Mysql

PythonMySQLDBIN句で使用するためのリストの実装

    list_of_idsを使用します 直接:

    format_strings = ','.join(['%s'] * len(list_of_ids))
    cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
                    tuple(list_of_ids))
    

    そうすれば、自分自身を引用する必要がなくなり、あらゆる種類のSQLインジェクションを回避できます。

    データ(list_of_ids )は(クエリテキストではなく)パラメータとしてmysqlのドライバに直接送信されるため、インジェクションはありません。文字列には任意の文字を残すことができ、文字を削除したり引用符で囲んだりする必要はありません。



    1. 精度とスケールの違いは何ですか?

    2. SQLServerブラウザを起動できません

    3. OPENROWSETエラーを使用してAccess2007データをクエリするSQLServer2012

    4. MariaDBの日付と時刻の関数に使用される言語を返す