这是我的建表语句:
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]的后面追加了。而且
服务器也已经重启过了。但是仍然检索不到数据。拜托各位帮我看看问题在哪里,该如何解决。
你本地数据库有数据吗?
数据库的数据都是有的,而且表中的数据都是完全一样的,所以我猜测可能是什么地方的配置的问题
@园源: 你有没有试过,不加条件时,能查出数据吗?如果不能查出,就是其他问题了。表示没遇到过
@单恋: 试过,检索语句带其他的条件都可以查询的到,但是只要加了全文检索的数据,就不能检索到,全文检索的关键字无论是字母还是其他的汉子什么的,都不行。