Maison >base de données >tutoriel mysql >Pourquoi ma requête Python MySQL affiche-t-elle « Tous les paramètres n'ont pas été utilisés dans l'instruction SQL » ?

Pourquoi ma requête Python MySQL affiche-t-elle « Tous les paramètres n'ont pas été utilisés dans l'instruction SQL » ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-06 19:40:42571parcourir

Why Does My Python MySQL Query Show

Résolution de l'erreur « Tous les paramètres n'ont pas été utilisés dans l'instruction SQL » dans Python (MySQL)

Lorsque vous tentez d'exécuter une instruction SQL à l'aide de mysql.connector, vous pouvez rencontrez l'erreur "Tous les paramètres n'ont pas été utilisés dans l'instruction SQL." Cette erreur indique une inadéquation entre le nombre de paramètres spécifiés dans la requête SQL et le nombre de valeurs fournies dans le tuple de données.

Pour résoudre ce problème, examinez attentivement la requête SQL et confirmez que tous les paramètres sont correctement configurés. utilisé. Dans le code fourni, le problème survient car les caractères d'espace réservé pour les entiers (%d) sont incorrects.

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

Pour corriger cette erreur, utilisez plutôt le caractère d'espace réservé correct pour les entiers (%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

N'oubliez pas que les caractères d'espace réservé varient en fonction de l'adaptateur de base de données que vous utilisez. Pour mysql.connector, %s est utilisé à la fois pour les chaînes et les entiers. En utilisant les caractères fictifs appropriés, vous pouvez vous assurer que le nombre de paramètres correspond aux valeurs fournies, éliminant ainsi l'erreur « Tous les paramètres n'ont pas été utilisés ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn