Ganze MySQL-DB nach String durchsuchen

deinertsche

Erfahrenes Mitglied
Hi!
Ich habe eine Datenbank mit mehreren Tabellen. Jede Tabelle hat ca. 100 verschiedene Spalten.

Wenn ich jetzt einen String in der gesamten Datenbank suchen will, muss ich dann
SELECT * FROM table1, table2, table3, table4, table5 where column1 LIKE '%$searchstring%' OR column2 LIKE '%$searchstring%' OR ...
für alle 100 Spalten machen oder gibts auch eine Art Gesamtsuche?

Am liebsten wärs mir so: SELECT * FROM [AlleTabellen] WHERE [IrgendeineSpalte] LIKE '%$searchstring%'

greetinx
Deinertsche

ps: ich hatte dieses Thema schonmal im PHP-Forum gepostet aber keine Antwort bekommen.
 
Dann will ich noch mal antworten:
Es gibt kein Search-All-Kommando in SQL.
Deine Abfrage macht übrigends wenig Sinn, da Du das Kreuzprodukt aller Tabellen bildest.
Dabei wird jede Zeile der einen Tabelle mit jeder Zeile der nächsten Tabelle und jeder Zeile einer weiteren Tabelle usw. verknüpft. Wenn Du nun, mit oder verbunden, nach einem Wert in jeder Spalte jeder Tabelle suchst, wirst Du alle Zeilen erhalten. Deine Ergebnistabelle hat dann "Summe der Spaltenzahl aller Tabellen" Spalten und "Produkt der Zeilenzahl aller Tabellen Zeilen".

Gruß hpvw

PS: Hier der Link zum Thread im PHP-Forum.
 
Zurück