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

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

DDD
Libérer: 2025-01-06 19:30:44
original
759 Les gens l'ont consulté

Why Does My Python MySQL Query Throw a

Comprendre l'erreur « Tous les paramètres n'ont pas été utilisés dans l'instruction SQL »

Lorsque vous travaillez avec des bases de données MySQL à l'aide de Python, vous pouvez rencontrer un erreur indiquant "Tous les paramètres n'ont pas été utilisés dans l'instruction SQL." Cette erreur se produit lorsque le nombre de paramètres spécifiés dans une requête SQL ne correspond pas au nombre de valeurs fournies dans le tuple de données.

Dans l'extrait de code fourni, l'instruction SQL prépare une requête INSERT pour ajouter un utilisateur à une table nommée 'tbluser' dans la base de données 'DB'. Cependant, le problème se pose dans la ligne suivante :

add_user = ("INSERT INTO DB.tbluser "
       "(username, department, startyear, currentpos, link) "
       "VALUES (%s, %s, %d, %d, %s)")
Copier après la connexion

Les paramètres entiers (c'est-à-dire %d) sont utilisés pour les valeurs 'startyear' et 'currentpos', tandis que le paramètre chaîne (%s) est utilisé pour les autres valeurs. Cette inadéquation entre les types de paramètres et les valeurs de données conduit à l'erreur.

Pour résoudre le problème, modifiez l'instruction SQL pour utiliser %s comme marqueur de paramètre pour toutes les valeurs :

add_user = ("INSERT INTO DB.tbluser "
       "(username, department, startyear, currentpos, link) "
       "VALUES (%s, %s, %s, %s, %s)")
Copier après la connexion

Ceci garantit que le nombre de paramètres correspond au nombre de valeurs fournies dans le tuple de données.

N'oubliez pas que différents adaptateurs de base de données peuvent utiliser différents marqueurs de paramètres, reportez-vous donc toujours à la documentation spécifique de l'adaptateur que vous utilisent.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal