sql >> Base de Datos >  >> RDS >> Mysql

Use la lista de Python en la consulta SQL para los nombres de las columnas

No puede pasar la lista de columnas para seleccionar como parámetro a cur.execute . Debería ser parte de su expresión SQL, algo como:

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

Una cosa a tener en cuenta es que el marcador de posición para un valor de parámetro en el SQL depende de la base de datos. Si %s no funciona intente usar ? o :1 . Ver https://www.python.org/dev/peps/pep -0249/#paramestilo para más detalles.