Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL InnoDB Volltextsuche mit E-Mail-Adresse

Ich hatte Abfragen, die Match gegen E-Mail verwendeten, die fehlschlugen, als ich zu InnoDB wechselte, da @ verwendet wird, um in InnoDB nach Wörtern in einem bestimmten Abstand zu suchen:

SELECT username FROM users WHERE MATCH(user_email) AGAINST('example@sqldat.com' IN BOOLEAN MODE);
ERROR 1064 (42000): syntax error, unexpected '@', expecting $end

SELECT username FROM users WHERE MATCH(user_email) AGAINST("example@sqldat.com" IN BOOLEAN MODE);
ERROR 1064 (42000): syntax error, unexpected '@', expecting $end
mysql>

Versuchen Sie, Ihre E-Mail-Adresse wie folgt zu verpacken:

SELECT username FROM users WHERE MATCH(user_email) AGAINST('"example@sqldat.com"' IN BOOLEAN MODE);

oder entgangen:

SELECT username FROM users WHERE MATCH(user_email) AGAINST('\"example@sqldat.com\"' IN BOOLEAN MODE);