Правилният отговор вероятно е пълнотекстово търсене.
Има обаче две уговорки. Ако имате кратки низове, като описания на продукти или потребителски коментари, и искате да използвате like
, можете да направите нещо подобно:
where concat(' ', txt, ' ') like concat('% ', $word, ' %')
Това обаче предполага, че разделителите са интервали. Така че няма да намери „Здравей“. Можете да коригирате това, като направите:
where concat(' ', replace(txt, ',' ' '), ' ') like concat('% ', $word, ' %')
Но бързо ще разберете, че това е болка. Следователно:пълнотекстово търсене.
Второ, ако наистина съхранявате ключови думи в колоната, тогава решението е по-просто. недей така Създайте съединителна таблица, която има един ред на оригинален ред на таблица и един на ключова дума. Съхраняването на списъци в низове е лоша идея в SQL.