在多个表上使用匹配的SQL(带联接)
这会产生错误“找不到与列列表匹配的全文索引” 但这两种方法都会奏效在多个表上使用匹配的SQL(带联接),sql,Sql,这会产生错误“找不到与列列表匹配的全文索引” 但这两种方法都会奏效 mysql_query("SELECT a.about,b.title,b.article,b.description FROM about a JOIN articles b ON b.user_id=a.user_id WHERE MATCH(b.title,b.article) AGAINST ('$search') "); 所有列上的文本索引都已激活。在b.title,b.article上没有全文索引 将您的查
mysql_query("SELECT a.about,b.title,b.article,b.description
FROM about a
JOIN articles b ON b.user_id=a.user_id
WHERE MATCH(b.title,b.article) AGAINST ('$search')
");
所有列上的文本索引都已激活。在
b.title,b.article
上没有全文索引
将您的查询用作
mysql_query("SELECT a.about,b.title,b.article,b.description
FROM about a
JOIN articles b ON b.user_id=a.user_id
WHERE MATCH(b.title) AGAINST ('$search')
");
mysql_query("SELECT a.about,b.title,b.article,b.description
FROM about a
JOIN articles b ON b.user_id=a.user_id
WHERE MATCH(b.article) AGAINST ('$search')
");
或者在b.title,b.article
列上建立索引
mysql_query("SELECT a.about,b.title,b.article,b.description
FROM about a
JOIN articles b ON b.user_id=a.user_id
WHERE MATCH(b.title) AGAINST ('$search')
and
MATCH(b.article) AGAINST ('$search')
");
正如我所说,所有这些列都有全文索引。您需要对多个列进行索引。2列上有一个索引我试过了,但得到了一个语法erorr?为文章创建全文索引(
标题
,文章
,说明
)对不起,我忘了包括索引名。编辑了我的答案。请再试一次,我必须为每个表单独设置一个匹配语句吗?
CREATE FULLTEXT INDEX t_a_articles_index ON articles (title, article) ...