MySQL Error 1064 syntax error, unexpected '@', expecting $end

Asked by HUYNH NGUYEN

Please help! This problem only happens recently, since I upgraded to MySQL 5.6 and convert the database tables to InnoDB.

Database error in vBulletin 4.2.2:

Invalid SQL:

                                SELECT searchcore.searchgroupid, MATCH(searchcore_text.title, searchcore_text.keywordtext) AGAINST ('g@mes') AS score
                                FROM searchcore AS searchcore
                        JOIN searchcore_text AS searchcore_text ON (searchcore_text.searchcoreid = searchcore.searchcoreid)

WHERE MATCH(searchcore_text.title, searchcore_text.keywordtext) AGAINST ('g@mes' IN BOOLEAN MODE);

MySQL Error : syntax error, unexpected '@', expecting $end
Error Number : 1064

MySQL version: mysql56u-5.6.17-3.centos6.x86_64

Question information

Language:
English Edit question
Status:
Answered
For:
IUS Community Project Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Carl George (carl.george) said :
#1

Based on the error message, it appears that MySQL is misinterpreting the string 'g@mes'. Since the error is from vBulletin, and not a custom written query, I doubt you can change it directly. I would suggest reporting it as a bug to vBulletin. It does not appear to be an issue with how the software was packaged.

Revision history for this message
HUYNH NGUYEN (m-admin-3) said :
#2

This problem is gone as soon as I convert the table searchcore_text back to MyISAM. May I suggest this is a bug of MySQL InnoDB engine instead?

Revision history for this message
Carl George (carl.george) said :
#3

I found some specific discussion on the vBulletin forums regarding the change you attempted.

http://www.vbulletin.com/forum/forum/vbulletin-4/vbulletin-4-questions-problems-and-troubleshooting/3985507-vbulletin-myisam-tables

Can you help with this problem?

Provide an answer of your own, or ask HUYNH NGUYEN for more information if necessary.

To post a message you must log in.