Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhiều cột trong TRẬN ĐẤU LẠI

Các cột có tên bên trong MATCH() phải là các cột giống nhau được xác định trước đó cho chỉ mục FULLTEXT. Nghĩa là, tập hợp các cột phải giống trong chỉ mục của bạn như trong lệnh gọi MATCH() .

Vì vậy, để tìm kiếm hai cột, bạn phải xác định một chỉ mục FULLTEXT trên hai cột giống nhau, theo cùng một thứ tự.

Sau đây là ổn:

ALTER TABLE tabl1 ADD FULLTEXT INDEX (column1, column2);

SELECT ID FROM table1 WHERE MATCH(column1, column2) AGAINST ('text')

Điều sau là sai vì MATCH () tham chiếu đến hai cột nhưng chỉ mục chỉ được xác định cho một cột.

ALTER TABLE tabl1 ADD FULLTEXT INDEX (column1);

SELECT ID FROM table1 WHERE MATCH(column1, column2) AGAINST ('text')

Điều sau là sai vì MATCH () tham chiếu đến hai cột nhưng chỉ mục được xác định cho ba cột.

ALTER TABLE tabl1 ADD FULLTEXT INDEX (column1, column2, column3);

SELECT ID FROM table1 WHERE MATCH(column1, column2) AGAINST ('text')

Điều sau là sai vì MATCH () tham chiếu đến hai cột nhưng mỗi chỉ mục được xác định cho một cột.

ALTER TABLE tabl1 ADD FULLTEXT INDEX (column1);
ALTER TABLE tabl1 ADD FULLTEXT INDEX (column2);

SELECT ID FROM table1 WHERE MATCH(column1, column2) AGAINST ('text')

Phần sau sai vì MATCH () tham chiếu đến hai cột nhưng không đúng thứ tự:

ALTER TABLE tabl1 ADD FULLTEXT INDEX (column1, column2);

SELECT ID FROM table1 WHERE MATCH(column2, column1) AGAINST ('text')

Tóm lại, việc sử dụng MATCH () phải tham chiếu chính xác các cột giống nhau, theo cùng một thứ tự, như một định nghĩa chỉ mục đầy đủ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo truy vấn tùy chỉnh với Spring DATA JPA?

  2. Chọn câu lệnh bên trong một vòng lặp trong Thủ tục được lưu trữ Mysql

  3. mysql_result () mong đợi tham số 1 là tài nguyên, boolean đã cho

  4. # 1064 -Bạn gặp lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MySQL của bạn

  5. Lỗi MYSQLi:Người dùng đã có nhiều hơn 'max_user_connections' kết nối đang hoạt động