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

SELECT risultati con ordine delle colonne errato con PyMySQL

Durante i test ho riscontrato che la risposta selezionata (converti dict in OrderedDict) non è affidabile nel preservare l'ordine delle colonne dei risultati della query.

La risposta di @vaultah in una domanda simile suggerisce di usare pymysql.cursors.DictCursorMixin :

...per creare un cursore che ricordi l'ordine corretto delle colonne:

Quindi ottieni i risultati normalmente:

results = cursor.fetchall()
for row in results:
    print row # properly ordered columns

Preferisco meglio questo approccio perché è stabile, richiede meno codice e gestisce l'ordinamento al livello appropriato (man mano che le colonne vengono lette).