Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL-Suchfeldmethode

Wenn wir also annehmen, dass die Spalten name und colors die einzigen Spalten sind, die wir durchsuchen müssen, würde ich Folgendes tun (naive Lösung, funktioniert aber gut, wenn Ihre Datenbank nicht Millionen von Zeilen hat und Sie nicht Tausende von Kunden haben, die gleichzeitig suchen).

Erstellen Sie zuerst eine Ansicht

CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table

Ich kenne den Namen der Tabelle in Ihrem Screenshot nicht, also habe ich table verwendet wie sein Name.

Wenn ein Benutzer jetzt nach adult red pants sucht Sie könnten eine Abfrage stellen

SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'

Natürlich müssten Sie die Abfrage spontan generieren, aber das ist kein Problem. Sie könnten mit AND spielen oder OR und Platzieren von Leerzeichen zwischen dem Wildcrad-Symbol % und den Suchbegriff. Wahrscheinlich möchten Sie die Ansicht auch ausgefeilter machen, z. B. mehr als nur CONCAT .