FULLTEXT搜索问题
我之前创建了一个搜索,并且它工作正常,但是尝试在我遇到的一些问题的另一个表中执行此操作。
我收到错误...
SQL查询失败。 检查你的查询。
返回错误:找不到与列列表匹配的FULLTEXT索引
我(据我所知)成功地将列转换为全文,并将数据库设置为...
这是我的SQL信息...
CREATE TABLE `users` ( `auto` int(11) NOT NULL AUTO_INCREMENT, `user_id` varchar(6) DEFAULT NULL, `username` varchar(15) DEFAULT NULL, `first_name` varchar(20) NOT NULL DEFAULT '', `last_name` varchar(20) NOT NULL DEFAULT '', `email` varchar(30) NOT NULL DEFAULT '', `password` varchar(128) NOT NULL DEFAULT '', `ranking` varchar(128) DEFAULT '1', `sex` varchar(128) NOT NULL DEFAULT '', `active` varchar(128) NOT NULL DEFAULT '0', `ppic` varchar(128) NOT NULL DEFAULT 'ppic.jpg', `time_zone` varchar(128) DEFAULT 'America/Los_Angeles', `adult_filter` varchar(128) DEFAULT '0', PRIMARY KEY (`auto`), FULLTEXT KEY `user_id` (`user_id`,`username`,`first_name`,`last_name`,`email`,`password`,`sex`,`active`,`ppic`,`time_zone`,`adult_filter`), FULLTEXT KEY `user_id_2` (`user_id`,`username`,`first_name`,`last_name`), FULLTEXT KEY `ft_index_name2` (`user_id`,`username`,`first_name`,`last_name`), FULLTEXT KEY `ft_index_name32` (`user_id`,`username`,`first_name`,`last_name`,`email`,`password`,`ranking`,`sex`,`active`,`ppic`,`time_zone`,`adult_filter`), FULLTEXT KEY `ft_index_name322` (`user_id`), FULLTEXT KEY `ft_index_name3223` (`first_name`), FULLTEXT KEY `ft_index_name32233` (`last_name`), FULLTEXT KEY `ft_index_name322433` (`username`), FULLTEXT KEY `ft_index_name3232433` (`username`) ) ENGINE=MyISAM AUTO_INCREMENT=40 DEFAULT CHARSET=utf8
如果你没有注意到这一点,我不知道我正在用全文键做什么,这可能是问题所在。 然而,我第一次做了类似的事情,它工作得很好。
这是我的搜索查询...
SELECT user_id, username, first_name, last_name, MATCH(username, first_name, last_name) AGAINST('" . $search . "') AS score FROM users WHERE MATCH(username, first_name, last_name) AGAINST('" . $search . "') ORDER BY username
有谁知道什么可能导致这个问题? 我一直在这里呆了几天,不知道这个问题。 任何帮助表示赞赏,谢谢。
你需要一个如下所示的FULLTEXT键:
FULLTEXT KEY `ft_index_thisoneiscorrect` (username, first_name, last_name)
(请注意,匹配列的列表与您在查询中匹配的列列表相同。)
摆脱所有其他的。 他们中的大多数都是无用的,有几个是完全危险的。
链接地址: http://www.djcxy.com/p/75305.html