[英]Mysql Search - InnoDB and transactions vs MyISAM for FULLTEXT search
[英]How to migrate MySQL Fulltext Search from MyISAM to InnoDB
我需要從MyISAM遷移到InnoDB。 在此過程中,我發現該應用程序現在在某些搜索中返回錯誤:
1064語法錯誤,意外的是')',期望$ end
是否有任何重大變化或我必須逃避的角色? 80%的搜索正常。
字符-和)和@不再起作用
例如
SELECT MATCH (anchor) AGAINST ('te--st' IN BOOLEAN MODE) score
FROM seo_content_links
SELECT MATCH (anchor) AGAINST ('te)st' IN BOOLEAN MODE) score
FROM seo_content_links
SELECT MATCH (anchor) AGAINST ('te@st' IN BOOLEAN MODE) score
FROM seo_content_links
這非常像MySQL中的錯誤。
我懷疑這是MySQL 5.6.x中的錯誤。
一種可能的解決方案是替換有問題的字符:
$text = addslashes(str_replace(array("--", "@", ")", "(", "-"), " ", $text));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.