[英]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.