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

MySQL:Tìm kiếm cùng một chuỗi trong nhiều cột

Cách giải quyết đơn giản:

SELECT * 
FROM projects 
WHERE 
    CONCAT(category,name,description,keywords,type) LIKE '%query%' 
ORDER BY name ASC;

Bạn có thể thêm dấu phân cách giữa các cột nếu cần:

SELECT * 
FROM projects 
WHERE 
    CONCAT(category,"|",name,"|",description,"|",keywords,"|",type) LIKE '%query%' 
ORDER BY name ASC;

Bạn cũng có thể sử dụng tìm kiếm toàn văn bản (bạn cần tạo chỉ mục toàn văn bản như được mô tả tại đây: FULLTEXT INDEXES trên nhiều cột hoạt động như thế nào? )

SELECT *, MATCH (category,name,description,keywords,type) AGAINST ('query') AS score FROM projects WHERE MATCH (category,name,description,keywords,type) AGAINST ('query');


  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ôi có thể sử dụng các cột không tổng hợp với nhóm theo không?

  2. MySQL chuyển đổi giữa hai định dạng ngày tháng

  3. Làm thế nào để cập nhật mysql với python trong đó các trường và mục nhập từ từ điển?

  4. Làm cách nào để lấy tên cột từ một bảng MySQL nhất định?

  5. Làm cách nào để tạo hai cột tăng tự động trong MySQL?