[mysql/perl] lengte varchar opvragen

Pagina: 1
Acties:

  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
Ik gebruik de volgende methode om de kolomnamen + max stringlengtes van een tabel op te vragen (uitgaande van varchars):

Perl:
1
2
3
4
5
6
7
8
9
$sth = $dbh->prepare('SELECT * FROM '.$tabelnaam);
$sth->execute;
my $fields = $sth->{'NAME'};
my $lengths = $sth->{'LENGTH'};

foreach (0..$#{$fields}) {
        print "kolomnaam: ${$fields}[$_]<br>";
        print "lengte: ${$lengths}[$_]<br>";
}

Regel 4 genereert een error. Blijkbaar kent de DBI dit attribuut niet:
Software error:
Can't get DBI::st=HASH(0x84caa5c)->{LENGTH}: unrecognised attribute at line 4.
Mijn hostingprovider heeft al de nieuwste DBI versie geinstalleerd, maar het probleem blijft..
Is er nog een andere methode om de lengtes op te halen? Ik kan ze natuurlijk wel in een aparte tabel gaan bijhouden, maar dat vind ik niet zo'n nette oplossing :)

[ Voor 8% gewijzigd door bRight op 14-01-2004 12:56 . Reden: tikfout :) ]


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 31-03 15:20
Kan ook gewoon in MySQL:
MySQL:
1
SELECT MAX(LENGTH(kolom)) AS MaxLength FROM tabel

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
tnx, maar ik heb gewoon de ingestelde lengte van alle fields/kolommen nodig, meer niet :)
anyone?

[ Voor 5% gewijzigd door bRight op 14-01-2004 13:41 ]


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Is SHOW COLUMNS FROM tbl_name... niet iets wat je kan gebruiken?

[ Voor 5% gewijzigd door Annie op 14-01-2004 14:39 . Reden: linkje ]

Today's subliminal thought is: