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

Navnesøgning med flere kolonner i MySQL

Dit bedste bud her er at oprette et FULLTEXT-indeks, der omfatter de to felter

Trin 1) Opret en stop word-fil med kun tre ord

echo "a"> /var/lib/mysql/stopwords.txt
ekko "en">> /var/lib/mysql/stopwords.txt
ekko "den">> /var/lib/ mysql/stopwords.txt

Trin 2) Tilføj disse muligheder til /etc/my.cnf

ft_min_word_len=2
ft_stopword_file=/var/lib/mysql/stopwords.txt

Trin 3) Opret FULLTEXT-indeks på for- og efternavnskolonnen

ALTER TABLE-brugere ADD FULLTEXT first_last_name_index (first, last);

Trin 4) Implementer MATCH-funktionen i din søgning

Noget som dette:

VÆLG * FRA brugere WHERE (MATCH(første,sidste) MOD ('John' I BOOLEAN MODE)) OG (MATCH(første,sidste) MOD ('Doe' I BOOLEAN MODE));

Klik her for at lære mere om FULLTEXT-indeksering




  1. Forbinder Android med MS SQL SERVER 2008

  2. Fjern en sammenkædet server i SQL Server ved hjælp af T-SQL

  3. SQLSTATE[23000]:Overtrædelse af integritetsbegrænsning:1452 Kan ikke tilføje eller opdatere en underordnet række:en fremmednøglebegrænsning mislykkes

  4. Ændring af rækkefølge af poster fra frontend