Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3671[/thread]

Existiert die Tabelle schon?: MySQL

Leser: 2


<< >> 4 Einträge, 1 Seite
root
 2006-03-31 20:40
#34191 #34191
User since
2003-08-15
120 Artikel
BenutzerIn
[default_avatar]
Hi!

Wenn meine Tabelle noch nicht angelegt ist, so möchte ich gerne einen Dump laden um sie zu erzeugen.


Code: (dl )
1
2
my $sql = "Inhalt der Dump Datei";#???
$dbh->do($sql);


Aber wie kann ich in Perl auslesen ob die Tabelle schon existiert???
GwenDragon
 2006-03-31 21:42
#34192 #34192
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Quote
13.1.5. CREATE TABLE Syntax

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
   [(create_definition,...)]
   [table_options] [select_statement]


Eine kurze Suche im MySQL-Manual hätte es zutage gefördert ;)\n\n

<!--EDIT|GwenDragon|1143827214-->
root
 2006-03-31 22:30
#34193 #34193
User since
2003-08-15
120 Artikel
BenutzerIn
[default_avatar]
Ich weiss! Das kenne ich!
Aber ich will in Perl ja auch noch ein wenig was machen wenn sie nicht existiert. Ich müsste also erst mal gucken ob sie da ist. Dann Tabelle erstellen und dann bissi Zeug, so Mail an den Admin und so...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
    my $dbh = DBI->connect("DBI:mysql:database=".$$CONFIG_ref{'db_name'}.";host=".$$CONFIG_ref{'db_host'},$$CONFIG_ref{'db_user'},$$CONFIG_ref{'db_passwd'})
or return $$SITE_LANGUAGE_ref{"Die Datenbank kann nicht angesprochen werden."}." Error: ".$DBI::errstr;


my $statement="show tables";
my $sth = $dbh->prepare($statement) or die("Kann keine Abfrage ($statement) starten:$DBI::errstr");
$sth->execute;
my %tables = ();
while (my $row = $sth->fetchrow)
{
$tables{$row} = 1;
}
return join "<br>\n", keys %tables; # als test


Glaub so ist es dann ganz umgänglich. Jemand was zu meckern??? Speed? Sicherheit???\n\n

<!--EDIT|root|1143831165-->
nepos
 2006-04-02 17:28
#34194 #34194
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Lies dir doch mal die DBI-Doku durch. Da sollte es auch Funktionen geben, mit denen man auslesen kann, welche Tabellen es gibt usw.
<< >> 4 Einträge, 1 Seite



View all threads created 2006-03-31 20:40.