in reply to Re: Reading DB
in thread Reading DB

In general your code is a good way to approach getting column names, but you get a bit tripped up on some of the specifics at least if the code has any hope of being portable.

my $sth=$dbh->prepare("SELECT * FROM table_name LIMIT 1")... my @column_names = @{$sth->{NAME}};

1. LIMIT is not standard SQL and doesn't exist for many RDBMSs, unfortunately even "WHERE 1=0" isn't usable everywhere

2. $sth->{NAME} is not necessarily valid until after an execute.

3. It's best to specify $sth->{NAME_lc} or $sth->{NAME_uc} since different databases store the column names differently even if they ignore the case in actual SQL.