【问题标题】:mysql 5.0 upgrade to 5.1 Match functionmysql 5.0 升级到 5.1 匹配功能
【发布时间】:2014-02-04 15:43:25
【问题描述】:

我将网站的数据库从 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

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

【问题讨论】:

    标签: mysql match where


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多