Rumah > pangkalan data > tutorial mysql > Mengapakah saya mendapat \'Tidak dapat mencari indeks FULLTEXT yang sepadan dengan senarai lajur\' apabila mencari berbilang lajur?

Mengapakah saya mendapat \'Tidak dapat mencari indeks FULLTEXT yang sepadan dengan senarai lajur\' apabila mencari berbilang lajur?

Linda Hamilton
Lepaskan: 2024-10-26 14:17:02
asal
880 orang telah melayarinya

 Why am I getting

Menyelesaikan masalah "Tidak dapat mencari indeks FULLTEXT yang sepadan dengan senarai lajur" untuk Carian Berbilang Lajur

Apabila membina MATCH...LAWAN pertanyaan melibatkan berbilang lajur dalam indeks teks penuh, adalah penting untuk memastikan bahawa susunan lajur dalam indeks sepadan dengan tertib yang muncul dalam klausa MATCH. Berdasarkan mesej ralat yang anda temui, nampaknya definisi indeks teks penuh anda merangkumi lebih banyak lajur daripada klausa MATCH anda.

Seperti yang anda nyatakan, jadual anda mengandungi indeks teks penuh yang ditakrifkan pada berbilang lajur:

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)
Salin selepas log masuk

Walau bagaimanapun, klausa MATCH anda hanya merangkumi lajur berikut:

MATCH(`brand`) AGAINST('Skoda');
Salin selepas log masuk

Ketakpadanan antara bilangan lajur dalam indeks dan klausa MATCH ini menyebabkan ralat. Untuk membetulkan isu ini, anda perlu melaraskan sama ada takrif indeks atau klausa MATCH untuk memastikan ia sejajar.

Pendekatan yang disyorkan ialah mengubah suai indeks teks penuh agar sepadan dengan lajur yang anda ingin gunakan dalam carian anda. Dalam kes ini, anda boleh melaksanakan pertanyaan berikut untuk menambah indeks teks penuh baharu yang mengandungi hanya lajur jenama:

ALTER TABLE products ADD FULLTEXT(brand);
Salin selepas log masuk

Selepas menambah indeks yang betul, jalankan semula pertanyaan MATCH anda:

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');
Salin selepas log masuk

Ini sepatutnya mengembalikan hasil yang dijangkakan tanpa mesej ralat.

Atas ialah kandungan terperinci Mengapakah saya mendapat \'Tidak dapat mencari indeks FULLTEXT yang sepadan dengan senarai lajur\' apabila mencari berbilang lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan