Miałem zapytania, które używały dopasowania do wiadomości e-mail, które zaczęły kończyć się niepowodzeniem, gdy przełączyłem się na innodb, ponieważ @ służy do wyszukiwania słów w pewnej odległości od siebie w 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>
Spróbuj zapakować swój adres e-mail w ten sposób:
SELECT username FROM users WHERE MATCH(user_email) AGAINST('"[email protected]"' IN BOOLEAN MODE);
lub uciekł:
SELECT username FROM users WHERE MATCH(user_email) AGAINST('\"[email protected]\"' IN BOOLEAN MODE);