Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL mengembalikan kecocokan kata yang tepat dari konten teks

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli_result::gratis meningkatkan penggunaan memori php

  2. mysql mendapatkan last_insert_id() di pemicu

  3. tampilkan tanggal/waktu di situs web berdasarkan waktu komputer pengguna di negara yang berbeda

  4. Mendapatkan hasil kueri dari tabel 2 db bahkan ketika tabel kedua tidak memiliki entri yang sesuai

  5. PhP (Codeigniter) Menggabungkan hasil kueri sebelum foreach loop