我有以下 MySQL 查询:
SELECT title, description
FROM some_table
WHERE MATCH (title,description) AGAINST ('+denver (REGEXP "[[:<:]]colorado[s]*[[:>:]]")' IN BOOLEAN MODE);
这里的“regexp”寻找一个“完整的单词”colorado(有或没有结尾的“s”)。
我实际上只想选择那些具有 ("denver") AND ("colorado" 或 "colorados") 的行。但我不能为 REGEXP 加上“+”。我试过但得到 0 个结果,尽管表中有符合要求的行。
关于如何让“+”在使用 REGEXP 的情况下工作的任何想法?我在 PHP 脚本中构建它,其中“denver”和“colorado”是我用来构建 select 语句的变量值。
我的 PHP/MySQL 脚本看起来有点像这样:
SELECT title, description
FROM some_table
WHERE MATCH (title,description) AGAINST ('+$var1 (REGEXP "[[:<:]]$var2[s]*[[:>:]]")' IN BOOLEAN MODE);