Christian: (MySQL) Feststellen ob Tabelle existiert

Hi,

ich möchte feststellen ob eine MySQL-Tabelle existiert!
Wenn ja, möchte ich eine SELECT-Abfrage machen!

Es gibt so was wie: "DROP TABLE tabellenname IF EXISTS" (hab ich von PHPMyAdmin).

Ich habe schon versucht das direkt ins SELECT einzubauen, etwa so:

SELECT * FROM tabellenname IF EXISTS WHERE ...

oder

SELECT * FROM tabellenname WHERE ... IF EXISTS

sämtliche Kombinationen haben immer zu einem mysql-error geführt!

Weiß jemand, wie ich das am besten mache??

Gruß
Christian

  1. Was hindert dich daran, einfach auf blauen Dunst deine Abfrage an die Datenbank zu senden? Wenn deine SQL Abfrage ansonsten korrekt ist, schlägt sie halt genau dann fehl, wenn die Tabelle nicht oder in falscher Form vorhanden ist.

    -- d. Mwv

  2. Halihallo Christian

    ich möchte feststellen ob eine MySQL-Tabelle existiert!

    Iteriere mit einer programmiertechnischen Logik über das Ergebnis von
    "SHOW TABLES;"

    Wenn ja, möchte ich eine SELECT-Abfrage machen!

    und ergänze das Programm durch eine geeignete if-then-Konstruktion.

    Es gibt so was wie: "DROP TABLE tabellenname IF EXISTS" (hab ich von PHPMyAdmin).

    sogar genau das.

    Ich habe schon versucht das direkt ins SELECT einzubauen, etwa so:
    SELECT * FROM tabellenname IF EXISTS WHERE ...
    SELECT * FROM tabellenname WHERE ... IF EXISTS

    Das gibt es laut http://www.mysql.com/doc/en/SELECT.html nicht und hat auch
    seine Richtigkeit.

    sämtliche Kombinationen haben immer zu einem mysql-error geführt!

    Datenbankmodellierung ist eine staatische Datenmodellierung! - Einmal gemacht, nie mehr
    geändert im Optimum. Eine SELECT IF EXISTS-Konstruktion würde sämtliche Grundsätze von
    staatischer Datenmodellierung ad absurdum führen und wurde und wird deshalb hoffentlich
    nie implementiert werden. Es zeugt von schlechtem Datenbankdesign, wenn ein SELECT
    von der Existenz einer bestimmten Tabelle abhängt.

    Weiß jemand, wie ich das am besten mache??

    s. oben oder Vorschlag von Mettwurstverkäufer.

    Viele Grüsse

    Philipp