sql >> Database teknologi >  >> RDS >> Mysql

MYSQL søgefelter metode

Så hvis vi antager, at kolonnerne name og colors er de eneste kolonner, vi skal søge igennem, ville jeg gøre følgende (naiv løsning, men vil fungere fint, hvis din DB ikke har millioner af rækker, og du ikke har tusindvis af kunder, der søger på én gang).

Først skal du oprette en visning

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

Jeg kender ikke navnet på tabellen i dit skærmbillede, så jeg brugte table som dens navn.

Nu, hvis en bruger søger efter adult red pants du kan sende en forespørgsel

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

Selvfølgelig skal du generere forespørgslen med det samme, men det er ikke et problem. Du kan lege med AND eller OR og placere mellemrum mellem wildcrad-symbolet % og søgeordet. Sandsynligvis vil du også gerne gøre visningen på en mere sofistikeret måde, f.eks. gøre mere end bare CONCAT .



  1. Databasetabeller, én tabel, der refererer til flere ikke-relaterede tabeller

  2. Mysql finde nøgleord i tekst

  3. Opdater en MySQL-tabel med værdier fra en anden

  4. Få adgang til mysql fjerndatabase fra kommandolinjen