Mysql
 sql >> Database >  >> RDS >> Mysql

Usa l'elenco Python nella query SQL per i nomi delle colonne

Non puoi passare l'elenco di colonne da selezionare come parametro a cur.execute . Dovrebbe far parte della tua espressione SQL, qualcosa come:

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

Una cosa da tenere presente è che il segnaposto per un valore di parametro nell'SQL dipende dal database. Se %s non funziona prova a usare ? o :1 . Vedi https://www.python.org/dev/peps/pep -0249/#paramstyle per maggiori dettagli.