Kai: Alle Tabellen löschen, MYSQL

Ich würde gerne alle Tabellen meiner MYSQL Datenbank lsöchen,
für eine Tabelle habe ich den Befehl:

$sql_befehl = "DROP TABLE table1";

aber ich habe 40 Tabellen in der Datenbank, ich möchte aber nicht jede einzeln schreiben, aber ich finden keinen Befehl der alle auf einmal löscht!

Kann ir da jemand einen Tipp geben!

Kai
(nicht der von Abel)

  1. Hi,

    Ich würde gerne alle Tabellen meiner MYSQL Datenbank lsöchen,
    für eine Tabelle habe ich den Befehl:

    $sql_befehl = "DROP TABLE table1";

    aber ich habe 40 Tabellen in der Datenbank, ich möchte aber nicht jede einzeln schreiben, aber ich finden keinen Befehl der alle auf einmal löscht!

    Kann ir da jemand einen Tipp geben!

    Drop the bas(s|e) …

    Drop der Datenbank und anschließend wieder erstellen dürfte die simplere Variante sein.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. DB löschen und neu anlegen

  3. Funkton zum auslesen aller Tabellen
    ---------------------------------------------

    function mysql_tables($database='')
    {
        $tables = array();
        $list_tables_sql = "SHOW TABLES FROM {$database};";
        $result = mysql_query($list_tables_sql);
        if($result)
        while($table = mysql_fetch_row($result))
        {
            $tables[] = $table[0];
        }
        return $tables;
    }

    Ausgabe aller Tabellen
    ------------------------------------------

    foreach(mysql_tables(DB_NAME) AS $name)
       {
    if (TRUE==mysql_query("DROP TABLE IF EXISTS $name"))
    {
    echo 'gel&ouml;scht '.$name."<br>";
    }
    else
    {
    echo 'Problem: '.$name."<br>";
    }
       }

    Aber irgendwie klappt die TRUE Abfrage nicht, soll ein gelöscht ausgeben wenn OK, macht er aber nicht...

    1. Tach!

      if (TRUE==mysql_query("DROP TABLE IF EXISTS $name"))

      Du hast grad eine Liste der existierenden Tabellen erfragt und löschst sie dann nur, wenn sie existieren?

      Aber irgendwie klappt die TRUE Abfrage nicht, soll ein gelöscht ausgeben wenn OK, macht er aber nicht...

      Dieses "irgendwie" kann man mit Kontrollausgaben präzisieren. var_dump() eignet sich dafür am besten.

      dedlfix.