J'ai eu des requêtes qui utilisaient une correspondance avec un e-mail qui ont commencé à échouer lorsque je suis passé à innodb puisque @ est utilisé pour rechercher des mots à une certaine distance dans InnoDB :
SELECT username FROM users WHERE MATCH(user_email) AGAINST('[email protected]' IN BOOLEAN MODE);
ERROR 1064 (42000): syntax error, unexpected '@', expecting $end
SELECT username FROM users WHERE MATCH(user_email) AGAINST("[email protected]" IN BOOLEAN MODE);
ERROR 1064 (42000): syntax error, unexpected '@', expecting $end
mysql>
Essayez d'envelopper votre adresse e-mail comme ceci :
SELECT username FROM users WHERE MATCH(user_email) AGAINST('"[email protected]"' IN BOOLEAN MODE);
ou échappé :
SELECT username FROM users WHERE MATCH(user_email) AGAINST('\"[email protected]\"' IN BOOLEAN MODE);