-1

我正在使用的 mysql 表如下所示:

   id    |   name  | other_names  
 ---------------------------------
    1    |  john   | peter johny mike
    2    |  jane   | kevin pite janes john
    3    |  carl   | carlo nick pole 

我想作为每个用户的查询 id# 的结果,在表“other_names”中包含以查询中的单词开头的名称。例如,如果查询中的单词是“joh”,则需要获取结果 ID 1 和 2。

我尝试使用包含 LIKE %joh% 的查询,但结果我得到每个用户 ID#,“其他名称”列的名称包含查询中的单词。

SELECT * FROM table WHERE name LIKE  '".$word."%' OR other_names LIKE '%".$word."%'

我需要列“other_names”中的名称以查询中的单词开头,而不是包含该单词。

4

2 回答 2

0

%从查询中删除前导

SELECT * FROM table 
WHERE other_names LIKE '".$word."%'
于 2012-07-18T18:01:03.043 回答
0

您需要REGEXP运算符和边框关键字

SELECT * FROM table WHERE name REGEXP '[:<:]]someword'
于 2012-07-18T18:01:43.843 回答