Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL InnoDB Ricerca full-text contenente l'indirizzo email

Ho avuto query che utilizzavano la corrispondenza con l'e-mail che ha iniziato a non riuscire quando sono passato a innodb poiché @ viene utilizzato per cercare parole a una certa distanza in 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>

Prova a racchiudere il tuo indirizzo email in questo modo:

SELECT username FROM users WHERE MATCH(user_email) AGAINST('"[email protected]"' IN BOOLEAN MODE);

o sfuggito:

SELECT username FROM users WHERE MATCH(user_email) AGAINST('\"[email protected]\"' IN BOOLEAN MODE);