[英]MYSQL 5.7.17 FULL TEXT SEARCH
Table structure after Alter table Alter表之后的表结构
CREATE TABLE `WINNER` (
`ID` bigint(20) NOT NULL,
`CREATED_DATE` datetime NOT NULL,
`DELETED` bit(1) NOT NULL,
`EMAIL` varchar(255) DEFAULT NULL,
`FIRST_NAME` varchar(255) NOT NULL,
`LAST_NAME` varchar(255) NOT NULL,
`NO_OF_AWARDS` int(11) DEFAULT NULL,
`PASSWORD` varchar(255) NOT NULL,
`PHONE` varchar(10) NOT NULL,
`country_ID` bigint(20) NOT NULL,
`orgId_ID` bigint(20) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `UK_kkk28h9hpbjqvfis7hr4njm1t` (`PHONE`),
KEY `FK8nj02saxptd0qs5mh7ix6q82a` (`country_ID`),
KEY `FKlosg52h1cxfljriqt9vhf1b5o` (`orgId_ID`),
FULLTEXT KEY `PAGINATION_SEARCH` (`FIRST_NAME`,`LAST_NAME`,`PHONE`,`EMAIL`),
CONSTRAINT `FK8nj02saxptd0qs5mh7ix6q82a` FOREIGN KEY (`country_ID`) REFERENCES `COUNTRY` (`ID`),
CONSTRAINT `FKlosg52h1cxfljriqt9vhf1b5o` FOREIGN KEY (`orgId_ID`) REFERENCES `ORGANISATION` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Alter statement 变更陈述
ALTER TABLE `WINNER`
ADD FULLTEXT INDEX `PAGINATION_SEARCH` (`FIRST_NAME`, `LAST_NAME`, `PHONE`, `EMAIL`);
The following search throws syntax error. 以下搜索将引发语法错误。
select * from `WINNER` WHERE MATHCH(`FIRST_NAME`, `LAST_NAME`, `PHONE`, `EMAIL`)
AGAINST ('aa' IN NATURAL LANGUAGE MODE);
Error 错误
You have an error in your SQL syntax; 您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AGAINST ('aa' IN NATURAL LANGUAGE MODE)' at line 2
检查与您的MySQL服务器版本相对应的手册,以在第2行的'AGAINST('aa'IN NATURAL LANGUAGE MODE)'附近使用正确的语法
There is spelling mistake in below query for MATCH 下面的MATCH查询存在拼写错误
select * from `WINNER` WHERE MATCH(`FIRST_NAME`, `LAST_NAME`, `PHONE`, `EMAIL`)
AGAINST ('aa' IN NATURAL LANGUAGE MODE);
Your problem is just a typo in word match, the correct query is this: 您的问题只是单词匹配中的错字,正确的查询是这样的:
select * from `WINNER` WHERE MATCH(`FIRST_NAME`, `LAST_NAME`, `PHONE`, `EMAIL`)
AGAINST ('aa' IN NATURAL LANGUAGE MODE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.