Heim >Datenbank >MySQL-Tutorial >Warum wird bei meiner Python-MySQL-Abfrage angezeigt, dass „nicht alle Parameter in der SQL-Anweisung verwendet wurden'?
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!