Mit Perl die Spaltnamen einer MySQL-Tab auslesen?

Hallo Experten,

ich möchte die Spaltennamen einer MySQL Tabelle auslesen, da ich die Tabelle mit * komplett auslese. Hintergrund der Frage ist, dass ich die die Tabelle nicht als Array auslesen will, sondern vorher in ein hash schreiben will. Das kommt daher, dass ich die Tabellen immer wieder verändere, auch in der Reihenfolge der Spalten, wonach ich immer wieder die Index der Array-Zugriffe ändern muss… ist nervig.

Na ja, wahrscheinlich ist es einfach, aber ich bin noch nicht der Held in Perl und MySQl.

Vielen Dank vorab für Eure Hilfe.

Gruß
Michael

ich möchte die Spaltennamen einer MySQL Tabelle auslesen, da
ich die Tabelle mit * komplett auslese.

Das geht ähnlich wie das Auslesen der Tabelle selbst, mit der (groben) Abfolge prepare, execute und fetch, wobei du im prepare kein SELECT-Statement, sondern das ziemlich ähnliche DESCRIBE-Statement verwendest.

Ein fertiges Kochrezept kann ich dir jetzt nicht geben (hab’s selbst noch nicht gemacht), aber die Informationen in der MySql-Referenz zu DESCRIBE sowie die Referenz zum Perl->DBI-Interface (z. B. http://rucus.ru.ac.za/docs/mysql/Perl-DBI-Class.html) sollten dir hinreichend Infos liefern.

Gruss,
Schorsch

Wenn du das DBI Modul benutzt dann geht das nach dem execute einfach so:
@column_names = $result->{NAME};

Gruß
Till