Abfragen, ob eine Spalte existiert

Liebes Forum :slight_smile: :slight_smile: in einem Plugin möchte ich einer Tabelle gerne eine Spalte hinzufügen. Es gibt glaube ich nicht wie bei Tabellen ein „IF EXISTS…“. Deswegen möchte ich abfragen, ob es die Spalte schon gibt. Ich habe schon Versuche mit „SHOW COLUMNS…“ Zum Beispiel so: $sql = "SHOW COLUMNS FROM testtabelle like 'Testspalte'"; $col\_exists=Shopware()-\>Db()-\>query($sql); Das funktioniert aber leider nicht (das liefert immer das Ergebnis: „Zend_Db_Statement_Pdo“). Wie kann ich abfragen, ob es die Spalte schon gibt? Liebe Grüße Kerstin

gelöscht, falsche gedacht

Mit show columns solltest du eigentlich ein Array zurückbekommen. Versuch das mal ohne das like. Gesendet von meinem iPhone mit Tapatalk

1 Like

Danke für die Antwort. Hat mir geholfen, den Fehler zu finden. Die Datenbankabfrage war falsch: $sql = “SHOW COLUMNS FROM testtabelle like ‘Testspalte’”; // das ist richtig falsch: $columns = Shopware()->Db()->query($sql); // liefert Zend_Db_Statement_Pdo richtig (zum Beispiel): $columns = Shopware()->Db()->fetchAssoc($sql); // liefert Array mit der Spalte, wenn sie existiert, sonst ein leeres array. Genau, was ich brauche. Cool ist übrigens auch “SHOW TABLES”. Vielen Dank nochmal und liebe Grüße Kerstin :slight_smile: :slight_smile: