Heim >Datenbank >MySQL-Tutorial >Wie gehe ich mit „Daten abgeschnitten'-Warnungen bei MySQL-Abfragen in Python um?

Wie gehe ich mit „Daten abgeschnitten'-Warnungen bei MySQL-Abfragen in Python um?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 11:26:30973Durchsuche

How to Handle

Umgang mit MySQL-Warnungen in Python

Frage:

Wie geht das in einem Python-Skript? Sie erfassen während MySQL-Abfragen Warnungen der Form „Daten für Spalte ‚xxx‘ abgeschnitten“?

Spezifische Codeausschnitte werden in der ursprünglichen Frage angegeben, aber sie können die Warnungen nicht abfangen.

Antwort:

MySQL-Warnungen werden nicht als Ausnahmen ausgelöst. Stattdessen werden sie an stderr gemeldet. Um sie zu verarbeiten, müssen Sie das Python-Warnungsmodul verwenden.

Um die Behandlung von Warnungen zu konfigurieren, verwenden Sie die Funktion warnings.filterwarnings. Um beispielsweise MySQLdb-Warnungen in Ausnahmen umzuwandeln:

<code class="python">import warnings
warnings.filterwarnings('error', category=MySQLdb.Warning)</code>

Alternativ können Sie „Ignorieren“ verwenden, um die Warnungen vollständig zu unterdrücken.

Sie können auch detailliertere Filter basierend auf bestimmten Kriterien festlegen . Der folgende Code ignoriert beispielsweise alle Warnungen außer denen im Zusammenhang mit der Kürzung:

<code class="python">warnings.filterwarnings('ignore', category=MySQLdb.Warning)
warnings.filterwarnings('error', category=MySQLdb.Warning, message='Data truncated')</code>

Das obige ist der detaillierte Inhalt vonWie gehe ich mit „Daten abgeschnitten'-Warnungen bei MySQL-Abfragen in Python um?. 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