Bonjour,
me voila encore bloqué
je lance la fonction comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def Update_Base(valeur1, valeur2, nom): Acces_Base() # SQL_Querry = ("UPDATE jeu SET Intelligence = %s WHERE Nom = %s") # SQL_Querry = ("UPDATE jeu SET 'Intelligence' = %s WHERE Nom = %s") SQL_Querry = ('UPDATE jeu SET %s = %s WHERE Nom = %s') SQL_Data = (valeur1, valeur2, nom) cursor.execute(SQL_Querry, SQL_Data) cnx.commit() cursor.close() cnx.close()
mon erreur est là : raise get_exception(packet)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Update_Base('Intelligence', 10, 'Didier')
mysql.connector.errors.ProgrammingError: 1064 (42000): Erreur de syntaxe près de ''Intelligence' = 10 WHERE Nom = 'Didier'' à la ligne 1
et en fait mon soucis
cette ligne fonctionne
et celle là non
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL_Querry = ("UPDATE jeu SET Intelligence = %s WHERE Nom = %s")
J'en conclue que quand j'adresse le champs Intelligence de ma table jeu, je met des apostrophes autour de Intelligence il n'accepte pas la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL_Querry = ("UPDATE jeu SET 'Intelligence' = %s WHERE Nom = %s")
Et comme j'aurai aimé laissé l'utilisateur choisir quel champs il veut modifier faut bien que je passe par une variable de type string qui se traduit par la mise en place des apostrophes.
Auriez vous une idée de la bonne syntaxe ?
Merci d'avance
Partager