Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser la liste Python dans la requête SQL pour les noms de colonne

Vous ne pouvez pas passer la liste des colonnes à sélectionner en tant que paramètre à cur.execute . Cela devrait faire partie de votre expression SQL, quelque chose comme :

sql = "SELECT " + ",".join(pythonlist) + " FROM data WHERE name = %s INTO OUTFILE filename"
cur.execute(sql, (name,))

Une chose à savoir est que l'espace réservé pour une valeur de paramètre dans le SQL dépend de la base de données. Si %s ne fonctionne pas essayez d'utiliser ? ou :1 . Voir https://www.python.org/dev/peps/pep -0249/#styleparam pour plus de détails.