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

SELECT-Ergebnisse mit falscher Spaltenreihenfolge mit PyMySQL

Beim Testen habe ich festgestellt, dass die ausgewählte Antwort (Dict in OrderedDict konvertieren) die Spaltenreihenfolge der Abfrageergebnisse nicht zuverlässig beibehält.

@vaultahs Antwort auf eine ähnliche Frage schlägt vor, pymysql.cursors.DictCursorMixin zu verwenden :

...um einen Cursor zu erstellen, der sich die richtige Spaltenreihenfolge merkt:

Dann erhalten Sie Ihre Ergebnisse wie gewohnt:

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

Ich bevorzuge diesen Ansatz besser, weil er stabil ist, weniger Code erfordert und die Sortierung auf der entsprechenden Ebene handhabt (beim Lesen der Spalten).