[MySQL] Tabelle schon vorhanden?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Mr.Clear, 26. Juli 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 26. Juli 2006
    Hi Leutz!

    Wie sehe ich dass eine Tablle schon vorhanden ist, ohne SELECT zu benutzen?

    Mein bisheriger Code:
    Code:
    $table = "test";
    $result = mysql_query("SELECT * FROM '". $table ."' "); 
     if ( $result == false ) 
     { $sql = "CREATE TABLE ". $table ." (id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, Email VARCHAR(60) )";
     mysql_query($sql) OR die(mysql_error());
     }
    
    Wenn die Tabelle voll wäre, würde es gehen, denk ich :-/
    Nur leider sind die Tabellen leer, also versucht er die tabelle zu erstellen und bringt
    die Fehlermeldung "tabelle schon vorhanden"...
    Was ist also die Lösung?

    Mfg =)

    Ps: 10er is klar ^^
     
  2. 26. Juli 2006
    Hm naja wozu brauchst du sowas denn ? Verstehe ich nicht wirklich...

    Und das problem ist halt das wenn keine daten drin sind das ganze halt leer ist...
    Aber mir fällt auch garnix ein wo man sowas gebrauchen könnte...
    Vielleicht kann ich dir helfen das anders zu lösen..
     
  3. 26. Juli 2006
    google google

    http://dev.mysql.com/doc/refman/4.0/de/create-table.html
     
  4. 26. Juli 2006
    Das kannst du aber nur beim Einfügen von Datensätzen machen - beim UPDATE kann's Probleme geben.
    Ich mach immer 'n Query der Tabellennamen:

    Code:
    SELECT * FROM information_schema.tables WHERE table_name LIKE 'blubb'
    Natürlich kann man das noch anpassen, um die Laufzeit zu verringern (bspw. nur den table_name aus der Tabelle auslesen). Im Prinzip geht's danach aber weiter wie bisher (if(!$result))...).
     
  5. 26. Juli 2006
    Danke Leute, hat mich scho weiter geholfen,
    genau so einen Befehl ( IF NOT EXXISTS ) hab ich gesucht...
    nur es kommt immer noch ein Fehler :-/
    Was stimmt na da dran net?

    Code:
    
    $table = 'test';
    $sql = "CREATE TABLE IF NOT EXISTS '". $table ."'
     (
     ID INT AUTO_INCREMENT PRIMARY KEY,
     Name TEXT,
     Zusatz TEXT
     ); ";
    mysql_query($sql) OR die(mysql_error());
    
    
    @bene600:
    das is um MySQL-Tabellen automatisch zu erstellen, wenn sie es noch nicht gibt.
     
  6. 26. Juli 2006
    Der Syntax ist aber soweit ich das hier sehe richtig, was für ein Fehler kommt den genau ?
     
  7. 26. Juli 2006
    Code:
    You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL server version for the right syntax to use near ''test' ( ID INT NOT NULL AUTO_INCREMENT PRIM
    der da :-/
     
  8. 26. Juli 2006
    mach mal die ' zu `

    sollte dann so aussehen:
    Code:
    CREATE TABLE IF NOT EXISTS `". $table ."`
     (
     `ID` INT AUTO_INCREMENT PRIMARY KEY,
     `Name` TEXT,
     `Zusatz` TEXT
     );
     
  9. 26. Juli 2006
    yeah!!!!
    ez gehts
    danke !!!!!!!!!!!!!!

    Endlich
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.