Heim >Datenbank >MySQL-Tutorial >Warum wird bei meiner Python-MySQL-Abfrage angezeigt, dass „nicht alle Parameter in der SQL-Anweisung verwendet wurden'?

Warum wird bei meiner Python-MySQL-Abfrage angezeigt, dass „nicht alle Parameter in der SQL-Anweisung verwendet wurden'?

Barbara Streisand
Barbara StreisandOriginal
2025-01-06 19:40:42547Durchsuche

Why Does My Python MySQL Query Show

Behebung des Fehlers „Nicht alle Parameter wurden in der SQL-Anweisung verwendet“ in Python (MySQL)

Beim Versuch, eine SQL-Anweisung mit mysql.connector auszuführen, kann es sein, dass Sie Es kommt der Fehler „In der SQL-Anweisung wurden nicht alle Parameter verwendet.“ Dieser Fehler weist auf eine Diskrepanz zwischen der Anzahl der in der SQL-Abfrage angegebenen Parameter und der Anzahl der im Datentupel bereitgestellten Werte hin.

Um dieses Problem zu beheben, überprüfen Sie die SQL-Abfrage sorgfältig und stellen Sie sicher, dass alle Parameter korrekt sind gebraucht. Im bereitgestellten Code tritt das Problem auf, weil die Platzhalterzeichen für Ganzzahlen (%d) falsch sind.

add_user = ("INSERT INTO DB.tbluser "
       "(username, department, startyear, currentpos, link) "
       "VALUES (%s, %s, %d, %d, %s)")  # Incorrect use of %d for integers

Um diesen Fehler zu beheben, verwenden Sie stattdessen das richtige Platzhalterzeichen für Ganzzahlen (%s):

add_user = ("INSERT INTO DB.tbluser "
       "(username, department, startyear, currentpos, link) "
       "VALUES (%s, %s, %s, %s, %s)")  # Correct use of %s for all parameters

Denken Sie daran, dass Platzhalterzeichen je nach verwendetem Datenbankadapter variieren. Für mysql.connector wird %s sowohl für Zeichenfolgen als auch für Ganzzahlen verwendet. Durch die Verwendung der entsprechenden Platzhalterzeichen können Sie sicherstellen, dass die Anzahl der Parameter mit den angegebenen Werten übereinstimmt, wodurch der Fehler „Es wurden nicht alle Parameter verwendet“ vermieden wird.

Das obige ist der detaillierte Inhalt vonWarum wird bei meiner Python-MySQL-Abfrage angezeigt, dass „nicht alle Parameter in der SQL-Anweisung verwendet wurden'?. 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