Maison >base de données >tutoriel mysql >Pourquoi ma requête MySQL Python renvoie-t-elle « Tous les paramètres n'ont pas été utilisés » ?
Lors de l'exécution d'une requête SQL à l'aide de Python et MySQL, l'erreur « Tous les paramètres n'ont pas été utilisés dans l'instruction SQL" peut survenir en raison d'une inadéquation dans les marqueurs de paramètres.
Le code Python en question tente d'insérer des données dans une table MySQL à l'aide de la méthodeexecute() avec paramètres nommés. Cependant, les marqueurs de paramètres utilisés dans la requête SQL sont incorrects.
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %d, %d, %s)")
Dans cette requête, les marqueurs de paramètres pour startyear et currentpos sont %d (entier), tandis que les données à insérer pour ces paramètres sont de type entier (2001). Cependant, le marqueur de paramètre correct pour les entiers dans MySQL est %s.
Le code révisé utilisant les marqueurs de paramètre corrects est :
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %s, %s, %s)")
Cette modification garantit que tous les paramètres spécifiés dans la requête SQL sont utilisés et correspondent aux types de données des valeurs à insérer, résolvant 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!