我有一个表User,其中包含字段(id,first_name,middle_name,last_name).
我想写一个查询来查找他的名字的用户.名称可以是名字,中间名或姓氏.
$sql = "SELECT * FROM user
WHERE first_name like '%$name%' OR
middle_name like '%$name%' OR
last_name like '%$name%'";
这是有效的查询吗?
(暂时保留安全问题.)
最佳答案
更改表并在First_name,second_name,last_name上添加复合全文索引,然后使用此查询
select *
from table_name
where match (`First_name`,`second_name`,`last_name`) against('name')
它比你的查询快得多.