mysql 5.0升级到5.1匹配功能

时间:2014-02-04 15:43:26

标签: mysql match where

我将网站的数据库从MySQL 5.0.95迁移到MySQL 5.1.59

当我尝试搜索时,我会得到不同的结果 例如: 当我在旧数据库中搜索“MTH”时,我得到一个结果, 但是当我在新数据库中搜索“MTH”时,我没有得到任何结果

然而,当我搜索“accountents”时,我会在两个数据库中获得相同的结果!?! 所以只有一些单词显示不同的结果,而不是全部

我把它缩小到mysql的“匹配”功能。 任何有同样问题的人都可能会迁移一个网站吗?

这是我的SQL查询:

SELECT
 a.addressid,
 a.status,
 a.name,
 a.subname,
 a.subtitle,
 a.city,
 a.googlemaps,
 a.address,
 a.zipcode,
 a.pobox,
 a.poboxzipcode,
 a.phone,
 a.fax,
 a.website,
 a.intro,
 a.packageid_fk,
 a.enddate,
 DATE_FORMAT(a.enddatenew, '%d-%m-%Y') AS endingdate,
 p.name package,
 m.themeid_fk
FROM
 addresses AS a

INNER JOIN addresses_subcategories AS a_s 
 ON a_s.addressid_fk = a.addressid
LEFT  JOIN packages                AS p   
 ON p.packageid      = a.packageid_fk
INNER JOIN subcategories  AS s 
 ON s.subcategoryid  = a_s.subcategoryid_fk
INNER JOIN maincategories AS m 
 ON m.maincategoryid = s.maincategoryid_fk
WHERE
 a.status = 1
AND 
MATCH(a.name, a.subname, a.sponsorkeywords, a.extrakeywords, a.website)
AGAINST('MTH*' IN BOOLEAN MODE)
AND
a.websiteid_fk = 1

GROUP BY a.addressid
ORDER BY a.packageid_fk DESC, a.sort ASC, a.name ASC

PS。这个相同的查询在MySQL 5.0上运行良好,但在5.1上它没有显示相同的结果

1 个答案:

答案 0 :(得分:0)

似乎它与ft_min_word_len变量有关。在联系我的虚拟主机后,他们改变了它,现在再次说出来了