这是我的建表语句:
CREATE TABLE `productkeyword` (
`prod_id` char(8) COLLATE utf8mb4_bin NOT NULL,
`ngram_keyword` text COLLATE utf8mb4_bin,
`word_keyword` text COLLATE utf8mb4_bin,
`popular` int(11) DEFAULT NULL,
`sale_dt` varchar(24) COLLATE utf8mb4_bin DEFAULT NULL,
`content_div` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`prod_id`),
KEY `popular` (`popular`,`prod_id`) USING BTREE,
KEY `sale_dt` (`sale_dt`,`prod_id`) USING BTREE,
KEY `content_div` (`content_div`) USING BTREE,
FULLTEXT KEY `ngram_keyword` (`ngram_keyword`),
FULLTEXT KEY `word_keyword` (`word_keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
SQL语句:
SELECT
*
FROM
productkeyword AS i
where
MATCH (i.ngram_keyword) AGAINST (
'検索' IN BOOLEAN MODE
)
注:关键字为日文的汉子,日文半角拼音,数字或假名。
现状:
数据库的数据和结构是我从服务器上直接传输过来的,所以数据库的编码和表的结构是和本地完全一致的。但是同样的sql语句我在服务器的数据库上就可以检索到数据,本地的检索不到。
数据库是MySQL Server 5.5
my.ini的文件中的配置 ft_min_word_len = 1已经在[mysqld]的后面追加了。而且
服务器也已经重启过了。但是仍然检索不到数据。拜托各位帮我看看问题在哪里,该如何解决。
你本地数据库有数据吗?
数据库的数据都是有的,而且表中的数据都是完全一样的,所以我猜测可能是什么地方的配置的问题
@园源: 你有没有试过,不加条件时,能查出数据吗?如果不能查出,就是其他问题了。表示没遇到过
@单恋: 试过,检索语句带其他的条件都可以查询的到,但是只要加了全文检索的数据,就不能检索到,全文检索的关键字无论是字母还是其他的汉子什么的,都不行。