MySQL: Spalte Wort Aus der Liste der Wörter
Ich habe eine Liste von Wörtern. Können sagen, Sie sind 'Apple', 'Orange', 'Birne'. Ich habe die Zeilen in die Datenbank wie diese:
------------------------------------------------
|author_id | content |
------------------------------------------------
| 54 | I ate an apple for breakfast. |
| 63 | Going to the store. |
| 12 | Should I wear the orange shirt? |
------------------------------------------------
Ich bin auf der Suche nach einer Abfrage auf eine InnoDB-Tabelle, die Rückkehr der 1. und 3. Reihe, weil die content
Spalte enthält ein oder mehrere Wörter aus meiner Liste. Ich weiß, ich könnte die Abfrage der Tabelle einmal für jedes Wort in meiner Liste, und verwenden WIE und die % - wildcard-Zeichen, aber ich Frage mich, ob es einen einzelnen query-Methode für solch eine Sache?
InformationsquelleAutor mellowsoon | 2011-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT:
Etwas wie dieses:
Können Sie mit einer Schleife deinen Worten zu erstellen, die WHERE-Klausel Bedingungen.
Zum Beispiel:
Ausgabe:
Dies ist, was ich jetzt mache, und ich hatte gehofft, es zu vermeiden. Dabei spielt es im Netzwerk zu vermeiden overhead separate Abfragen, würde ich davon ausgehen, dass MySQL intern laufen laufen jedes Wort, auf jede Zeile in der Tabelle, die im wesentlichen aus mehreren Abfragen. Ich hatte gehofft, MySQL hatte eine optimierte Funktion für diese Art von Abfrage.
Dies hat mir geholfen zu haben, cheers, Naveed, du Zauberer!
InformationsquelleAutor Naveed
MySQL, (ich glaube version 5.0) Hinzugefügt, die Möglichkeit der Verwendung von regulären Ausdrücken in SQL.
Check out: http://www.brainbell.com/tutorials/MySQL/Using_MySQL_Regular_Expressions.htm
Elegante und dies sollte die richtige Antwort. Ich denke 5.0 ist eine akzeptable minimal-version
InformationsquelleAutor John K.