Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL InnoDB Пълно текстово търсене, съдържащо имейл адрес

Имах заявки, които използваха съвпадение с имейл, което започна да се проваля, когато преминах към innodb, тъй като @ се използва за търсене на думи на определено разстояние в 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>

Опитайте да обвиете имейл адреса си по следния начин:

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

или избягали:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Първо се връщат ТОЧНИ съвпадения от пълнотекстово търсене?

  2. SQL INSERT от SELECT

  3. Не може да се създаде Multi-AZ Aurora RDS екземпляр

  4. В MySQL workbench какво е потребителско име/парола за връзка?

  5. връщане на данни group_concat като масив