简体   繁体   English

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

[英]Why does this SQL query give correct results on my local database, but wrong result on the server database?

On my local MySQL database, this query to search for a specific word "samy" gives me the correct data consisting of two 2 results: 在我本地的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)

But when I run the same request on the server's mysql database, it returns all of the members data. 但是,当我在服务器的mysql数据库上运行相同的请求时,它将返回所有成员数据。 It does however work when I do this: 但是当我这样做时它确实起作用:

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

What is going wrong? 怎么了?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM