Re: Possible to get field names and types in a table without executing a query?
- From: alexander@xxxxxxxx (Alexander Foken)
- Date: Tue, 27 Jun 2006 16:52:26 +0200
I would try to use SELECT * FROM TABLE WHERE 0=1. That has no result rows, but it should deliver the column information. By the way, most SQL databases have a way to query some special tables or view to find information about a table. Consult the database manual for that.
Alexander
On 27.06.2006 16:40, brian.barto@xxxxxxxxxxxxxxxxxxx wrote:
Hi all. My goal is to get a list of all field names and data types for
those fields in any given table in a mysql database. From reading the
DBI documentation, the only way I've been able to do this is by
preparing and executing a query against a table first. Then I would use
$sth->{NAME} and $sth->{TYPE} to get the field names and their
respective data types. it looks like this:
$sth = $dbh->prepare("SELECT * FROM $table") or die "Can't prepare
statement!\n";
$sth->execute or die "Can not execute statement!\n";
@types = @{$sth->{TYPE}};
@cols = @{$sth->{NAME}};
This seams like wasted overhead since I don't use the results of the
query. Also, since my query is "SELECT * FROM $table", which dumps all
data in the table, you may understand my concern for wasted overhead
when dealing with tables of a significant size.
Is there a way to get table names and data types without executing a
query? If not, is there a query I can use that will... say... only
return the first row (without WHERE clauses), to minimize the overhead?
Thanks,
Brian
--
Alexander Foken
mailto:alexander@xxxxxxxx http://www.foken.de/alexander/
.
- References:
- Prev by Date: RE: dbi-users@perl.org
- Next by Date: RE: Possible to get field names and types in a table without executing a query?
- Previous by thread: RE: Possible to get field names and types in a table without executing a query?
- Next by thread: Re: Possible to get field names and types in a table without executing a query?
- Index(es):
Relevant Pages
|