Python からの MySQL クエリの % のエスケープ
Python で % 文字を含む MySQL クエリを実行すると、次のようなエラーが発生する場合があります。書式指定子としての特別な重要性について説明します。これを防ぐには、% 文字をエスケープして、リテラルとして扱う必要があることを示す必要があります。
解決策: リテラル エスケープ
% をエスケープするための推奨されるアプローチMySQL ドキュメントで説明されているように、リテラル エスケープを使用しています。これには、% 文字を 2 倍にする、つまり % を %% に置き換える必要があります。
たとえば、次のクエリを考えてみましょう。
query = """SELECT DATE_FORMAT(date_time,'%%Y-%%m') AS dd FROM some_table WHERE some_col = %s AND other_col = %s;"""
日付形式文字列内の % 文字をエスケープすることで、効果的にMySQL にそれらを無視し、リテラル文字として扱うように指示します。このクエリを実行すると、形式指定子エラーが発生することなく、目的の結果が得られます。
以上がPython から MySQL クエリの % 文字をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。