0
私はPythonスクリプトを使用してMySQLデータベースにデータをインポートしています。 MySQLdbを使用してクエリを実行します。Python MySQLdbクエリパラメータ "= NULL"ではなく "IS NULL"
私はまた、クエリや名前付きパラメータとそのデータを設定する機能を使用は自動的になど、要求の内側に交換する:私は、同じデータを使用していますので、私は本当にこのようような
req = "SELECT * FROM sample WHERE `id` = %(id)s and `param1` = %(param1)s"
data = {'id': 15, 'param1': None}
cursor.execute(req, data)
3または4クエリの場合はdict
です。
問題は、私はNone
値でWHERE
条件を作るしようとすると、それはNULL
で私のNone
を置き換えるんが、私は条件が真と評価されるように、`param1` IS NULL
によって`param1` = NULL
を交換できるようにしたいと思います。
この問題を直接解決する方法はありますか?または、パラメータの置換だけを使用して(クエリを実行せずに)、自分で置換を行い(= NULL
〜IS NULL
)、クエリを実行します。
@ m.nachury最初に、 'param_whitelist'が使われていない最新のバージョンのスニペットを貼り付けました。アップデートで修正されました。 – saaj