Tôi muốn nói rằng, ở đây, cấu trúc dữ liệu của bạn không đúng.
Sẽ là một giải pháp tốt hơn nếu không lưu trữ nhiều giá trị trong một trường bằng cách sử dụng một số định dạng được phân tách bằng dấu phẩy, mà sử dụng ba bảng, được định nghĩa theo cách này:
-
searchtest
-
id
-
name
-
-
keywords
-
id
-
word
-
-
keywords_searchtest
-
id_keyword
-
id_searchtest
-
Cùng với đó, tìm kiếm các mục nhập trong searchtest
có các từ khóa cụ thể sẽ đơn giản như:
select searchtest.*, keywords.*
from searchtest
inner join keywords_searchtest on keywords_searchtest.id_searchtest = searchtest.id
inner join keywords on keywords.id = keywords_searchtest.id_keyword
where keywords.word = 'test2'
Và, phân tích bổ sung, bạn phải tìm kiếm các mục kiểm tra tìm kiếm với một tên cụ thể:
select *
from searchtest
where name = 'trophy1'