mysql查询和全文中的Concat()

mysql查询和全文中的Concat(),sql,mysql,full-text-search,mysql-error-1064,concat,Sql,Mysql,Full Text Search,Mysql Error 1064,Concat,语法快把我累死了!下一个查询出现问题: $cadbusca="SELECT * , MATCH (nombre, apellido, email, about, place, CONCAT(nombre,' ',apellido)) AGAINST ('$busqueda') AS Score FROM user WHERE MATCH (nombre, apellido, email, about, place, CONCAT(nombre,' ',apellido)) AGAINST ('$

语法快把我累死了!下一个查询出现问题:

$cadbusca="SELECT * , MATCH (nombre, apellido, email, about, place, CONCAT(nombre,' ',apellido)) AGAINST ('$busqueda') AS Score FROM user WHERE MATCH (nombre, apellido, email, about, place, CONCAT(nombre,' ',apellido)) AGAINST ('$busqueda') ORDER BY Score DESC";
错误:

查询失败:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,将“nombre”、“apellido”和“dan stern”作为第1行匹配nom的用户的分数


dan stern是搜索到的单词…

要使用MATCH/country执行全文搜索,您必须在要执行搜索的字段上具有全文索引。看

话虽如此,您试图在匹配中包含一个动态实体CONCATnombre',apellido,这是不允许的-您不能在这样的动态字段上有索引

从:

匹配列列表必须匹配 确切地说,列列表在某些 的全文索引定义 表,除非这场比赛在 布尔模式。布尔模式搜索 可以在非索引列上执行, 虽然他们可能会很慢


要使用MATCH/country执行全文搜索,必须在要搜索的字段上具有全文索引。看

话虽如此,您试图在匹配中包含一个动态实体CONCATnombre',apellido,这是不允许的-您不能在这样的动态字段上有索引

从:

匹配列列表必须匹配 确切地说,列列表在某些 的全文索引定义 表,除非这场比赛在 布尔模式。布尔模式搜索 可以在非索引列上执行, 虽然他们可能会很慢


您需要创建一个类似于所需concat命令的列,并对其进行索引。正如里德西奥所指出的那样。此外,如果where子句中有匹配项,则不需要执行“ORDERBY”,因为它会自动为您排序


您需要创建一个类似于所需concat命令的列,并对其进行索引。正如里德西奥所指出的那样。此外,如果where子句中有匹配项,则不需要执行“ORDERBY”,因为它会自动为您排序


我真的不知道发生了什么,但我认为这是在你使用匹配的方式上,我真的不知道发生了什么,但我认为这是在你使用匹配的方式上,因此连接两个列的唯一方法是进行布尔模式搜索?不-显然你甚至不能这样做。Justin建议创建一个列,如果可以的话,这是一个很好的方法。或者,您是否考虑过将LIKE运算符与通配符一起使用我终于做到了。。。。然而,很多喜欢的结果都比较慢。因此,连接两个列的唯一方法是进行布尔模式搜索?不,显然你甚至不能这样做。Justin建议创建一个列,如果可以的话,这是一个很好的方法。或者,您是否考虑过将LIKE运算符与通配符一起使用我终于做到了。。。。然而,很多喜欢的结果都比较慢。Thx用于在选择列表中无法执行的帮助。只有在FROM之后。这在选择列表中是不可能做到的。只有在从。