为什么这个SQL查询在我的本地数据库上给出了正确的结果,但服务器数据库上的结果是错误的?

时间:2011-11-09 17:32:44

标签: php mysql sql match against

在我的本地MySQL数据库中,这个搜索特定单词“samy”的查询给出了正确的数据,包含两个2结果:

SELECT * 
FROM members

LEFT JOIN member_details
ON members.id_members = member_details.id_member

LEFT JOIN company_details
ON members.id_members = company_details.id_member

WHERE MATCH(name, lastname, email, phone, adress, 
  website, company_name, company_phone_01, 
  company_phone_02, company_fax, company_email, 
  company_description, company_adress, company_website) 
AGAINST("samy*" IN BOOLEAN MODE)

但是当我在服务器的mysql数据库上运行相同的请求时,它会返回所有成员数据。但是,当我这样做时,它确实有效:

WHERE MATCH(name, lastname, email, phone, adress, website) 
AGAINST("samy*" IN BOOLEAN MODE)

出了什么问题?

1 个答案:

答案 0 :(得分:0)

猜猜:LocalDB是MyISAM,生产数据库是InnoDB(不支持MATCH AGAINST要求的全文搜索)