Heim >Datenbank >MySQL-Tutorial >Wie entkomme ich das %-Zeichen in MySQL-Abfragen von Python?

Wie entkomme ich das %-Zeichen in MySQL-Abfragen von Python?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-17 07:32:03904Durchsuche

How to Escape the % Character in MySQL Queries from Python?

Escaping von % in MySQL-Abfragen von Python

Beim Ausführen einer MySQL-Abfrage, die ein %-Zeichen in Python enthält, kann es zu einem Fehler kommen auf seine besondere Bedeutung als Formatspezifizierer. Um dies zu verhindern, müssen Sie das %-Zeichen maskieren, um anzugeben, dass es als Literal behandelt werden soll.

Lösung: Literal-Escapezeichen

Der empfohlene Ansatz zum Escapezeichen von % verwendet literales Escapen, wie in der MySQL-Dokumentation beschrieben. Dazu gehört die Verdoppelung des %-Zeichens, d. h. das Ersetzen von % durch %%.

Betrachten Sie beispielsweise die folgende Abfrage:

query = """SELECT DATE_FORMAT(date_time,'%%Y-%%m') AS dd
FROM some_table
WHERE some_col = %s
AND other_col = %s;"""

Durch das Maskieren der %-Zeichen in der Datumsformatzeichenfolge erreichen wir effektiv Weisen Sie MySQL an, sie zu ignorieren und als Literalzeichen zu behandeln. Wenn Sie diese Abfrage ausführen, werden die gewünschten Ergebnisse erzielt, ohne dass der Formatspezifiziererfehler ausgelöst wird.

Das obige ist der detaillierte Inhalt vonWie entkomme ich das %-Zeichen in MySQL-Abfragen von Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn