Jawaban yang tepat mungkin adalah pencarian teks lengkap.
Namun, ada dua peringatan. Jika Anda memiliki string pendek, seperti deskripsi produk atau komentar pengguna, dan ingin menggunakan like
, Anda dapat melakukan sesuatu seperti ini:
where concat(' ', txt, ' ') like concat('% ', $word, ' %')
Namun, ini mengasumsikan bahwa pembatas adalah spasi. Jadi, itu tidak akan menemukan "Halo". Anda dapat memperbaikinya dengan melakukan:
where concat(' ', replace(txt, ',' ' '), ' ') like concat('% ', $word, ' %')
Tetapi Anda akan segera menemukan bahwa ini menyakitkan. Oleh karena itu:pencarian teks lengkap.
Kedua, jika Anda benar-benar menyimpan kata kunci di kolom, maka solusinya lebih sederhana. Jangan lakukan itu. Buat tabel persimpangan yang memiliki satu baris per baris tabel asli dan satu per kata kunci. Menyimpan daftar dalam string adalah ide yang buruk di SQL.