Bonjour,

me voila encore bloqué
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()
je lance la fonction comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Update_Base('Intelligence', 10, 'Didier')
mon erreur est là : raise get_exception(packet)
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SQL_Querry = ("UPDATE jeu SET Intelligence = %s WHERE Nom = %s")
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

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