#1 4. Februar 2014 Hallo, ich Versuche folgendes Szenario per SQL Statement zu lösen, jedoch ohne Erfolg. Ich möchte einen SQL Insert machen wenn eine andere Tabelle vorhanden ist. Sinngemäß soll es so gehen: Code: INSERT INTO `settings` (`plus`) VALUES (1) IF EXISTS TABLE `plus`; Ich hoffe das mir jemand weiterhelfen kann. + Multi-Zitat Zitieren
#2 4. Februar 2014 AW: [SQL] INSERT nur wenn Tabelle vorhanden Die erste Antwort: Check if table exists in mysql - Stack Overflow bzw. sql - MySQL - check if table exists without using select from - Stack Overflow + Multi-Zitat Zitieren
#3 4. Februar 2014 AW: [SQL] INSERT nur wenn Tabelle vorhanden Sieht mir eher so aus als würdest du prüfen wollen ob eine Spalte in einer Tabelle existiert. Das würde auch gehen, ist aber ein recht dummes Design. Vielleicht wäre ein generisches Layout in deinem Fall besser. Code: --------------------- [B][U]id[/U][/B] | [B][U]name[/U][/B] | [B][U]value[/U][/B] --------------------- 1 | plus | 1 --------------------- 2 | minus | 2 Code: UPDATE `settings` SET `value` = 1 WHERE `name` = `plus` Wie dem auch sei, so würde es gehen: Code: SELECT COUNT(*) as `exists` FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'name-der-datenbank' && TABLE_NAME = 'settings' && COLUMN_NAME = 'plus' Der Query gibt dir 1 (= Spalte existiert) oder 0 zurück. + Multi-Zitat Zitieren
#4 5. Februar 2014 AW: [SQL] INSERT nur wenn Tabelle vorhanden Hallo! Vielleicht solltest du dir Gedanken machen, ob du wirklich gezwungen wirst diese Art von SQL-Abfragen zu nutzen. Ich kenne jedenfalls keine Anwendung, außer Datenbanken selbst, die zur Laufzeit dynamisch Tabellen erstellen oder löschen müssen. Deshalb, wenn möglich, deine Anwendungsarchitektur und dein Datenschema überdenken und gegebenfalls überarbeiten. Mfg, Kolazomai + Multi-Zitat Zitieren
#5 6. Februar 2014 AW: [SQL] INSERT nur wenn Tabelle vorhanden Was soll die Abfrage denn machen? Das kann man sicher anders lösen... + Multi-Zitat Zitieren