Mailinglisten-Archive |
Hallo miteinander,
gerade habe ich mich anlässlich eines Problems subskribiert. Ich bin
Sprachwissenschaftlerin und arbeite mit Sprachmassendaten.
Hierbei ist folgendes Problem aufgetreten:
CREATE TABLE ... funktioniert nicht für mehr als 2500 Spalten.
Fehlermeldung beim Aufruf aus Perl:
"DBD::mysql:: db do failed: Too many columns at program.pl ..."
An Perl liegt es nicht, sondern eindeutig an mysql.
Weiß jemand, was man da machen kann? Wahrscheinlich muss man ja nur
irgendeinen Stack hochsetzen oder so. Ich habe nirgendwo eine Lösung
gefunden. Das (vereinfachte) Perl-Programm hänge ich an.
Viele Grüße,
Petra Steiner
use DBI;
use DBD::mysql;
my($i,
$table_name,
$DB,
$dbh,
_(at)_fields,
);
$DB = "petra";
$dbh = DBI->connect("dbi:mysql:$DB", "root", "");
if (!$dbh) {print "$DBI::errstr ";}
_(at)_fields = ();
for ($i = 1; $i <= 4000; $i++)
{
push _(at)_fields, "n$i"; }# spaltennamen ; colnames
print "_(at)_fields ";
$table_name = "tabelle";
$dbh -> do("DROP TABLE if EXISTS $table_name");
$dbh -> do("CREATE TABLE $table_name (" .
join (", ", map {"$_ TINYTEXT"} _(at)_fields) . "
)");
$dbh -> disconnect;
exit(0);
-
---------------------------------------------------
Petra Steiner
Arbeitsbereich Linguistik
Universitaet Muenster
Huefferstrasse 27
48149 Muenster
Tel: 0251 / 83 39442
petra_(at)_marley.uni-muenster.de
---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive