我使用的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#列#34;其他名称"具有包含查询中的单词的名称。
SELECT * FROM table WHERE name LIKE '".$word."%' OR other_names LIKE '%".$word."%'
我需要列#34; other_names"中的名字。从查询中的单词开始,而不是包含单词。
答案 0 :(得分:0)
从查询中删除前导%
SELECT * FROM table
WHERE other_names LIKE '".$word."%'
答案 1 :(得分:0)
您需要REGEXP运算符和border关键字
SELECT * FROM table WHERE name REGEXP '[:<:]]someword'