Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden Sie die Python-Liste in der SQL-Abfrage für Spaltennamen

Sie können die Liste der auszuwählenden Spalten nicht als Parameter an cur.execute übergeben . Es sollte Teil Ihres SQL-Ausdrucks sein, etwa so:

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

Beachten Sie, dass der Platzhalter für einen Parameterwert in der SQL von der Datenbank abhängt. Wenn %s funktioniert nicht versuchen Sie es mit ? oder :1 . Siehe https://www.python.org/dev/peps/pep -0249/#paramstyle für weitere Details.