我有一个表 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')
它比您的查询快得多。
关于php - 在表的多个字段中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10006373/