Vinzenz Mai: Prüfung ob eine Spalte in MySQL Tabelle vorhanden ist

Beitrag lesen

Hallo Tom,

hab ein Problem. Ich will, dass PHP auswertet, ob eine Spalte mit dem Namen name_spalt vorhanden ist. Ich habe überhaupt keinen Ansatz, welche Rückmeldung ich ausnutzen muss. Kann mir jemand helfen?

Erstmal kannst Du das vorher abfragen:

SHOW COLUMNS from $tablename

und warum nicht

  
    SHOW COLUMNS  
    FROM  
        tabellenname  
    LIKE  
        'spaltenname'  

oder dem Äquivalent in INFORMATION_SCHEMA, Tabelle COLUMNS, auf die schon Manu hinwies.

Das ist doch viel einfacher.
Es reicht die Anzahl der zurückgegebenen Datensätze zu überprüfen, vorausgesetzt die Tabelle existiert. Deswegen wäre

  
    SELECT  
        COLUMN_NAME  
    FROM  
        INFORMATION_SCHEMA.COLUMNS  
    WHERE  
        table_name = 'tabellenname'  
    AND  
        table_schema = 'db_name'  
    AND  
        column_name LIKE 'spaltenname'

zu bevorzugen.

Freundliche Grüße

Vinzenz