Maison >base de données >tutoriel mysql >Pourquoi mon instruction SQL INSERT renvoie-t-elle « Tous les paramètres n'ont pas été utilisés » ?

Pourquoi mon instruction SQL INSERT renvoie-t-elle « Tous les paramètres n'ont pas été utilisés » ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-06 19:49:46659parcourir

Why Does My SQL INSERT Statement Return

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

Le code Python fourni tente d'exécuter une instruction SQL INSERT à l'aide la bibliothèque mysql.connector. Cependant, une erreur est rencontrée : "Tous les paramètres n'ont pas été utilisés dans l'instruction SQL."

En examinant la requête add_user, nous remarquons que le marqueur de paramètre correct pour les valeurs entières n'est pas %d, mais plutôt %s. La requête modifiée doit être :

add_user = ("INSERT INTO DB.tbluser "
       "(username, department, startyear, currentpos, link) "
       "VALUES (%s, %s, %s, %s, %s)")

Le marqueur de paramètre %s est utilisé de manière cohérente pour les valeurs de chaîne et les valeurs entières, garantissant que tous les paramètres fournis dans le tuple data_user sont consommés par l'instruction SQL. Cela résout le problème et permet à l'insertion de réussir.

Il est important de noter que différents adaptateurs de base de données peuvent utiliser différents marqueurs de paramètres. Consultez toujours la documentation de l'adaptateur spécifique que vous utilisez.

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