Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL InnoDB Tìm kiếm toàn văn có chứa địa chỉ email

Tôi có các truy vấn sử dụng đối sánh với email bắt đầu không thành công khi tôi chuyển sang innodb vì @ được sử dụng để tìm kiếm các từ cách nhau một khoảng nhất định trong 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>

Hãy thử gói địa chỉ email của bạn như thế này:

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

hoặc thoát:

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. Gặp lỗi:Không thể kết nối với bất kỳ máy chủ MySQL nào được chỉ định. Trong một ứng dụng không sử dụng MySQL

  2. Mysql:Tìm các hàng, trong đó chênh lệch dấu thời gian nhỏ hơn x

  3. Openshift:Làm cách nào để truy cập MySQL từ xa?

  4. Cách nhận kỷ lục tuần khôn ngoan trong mysql từ ngày bắt đầu đến ngày kết thúc

  5. chú ý:chuyển đổi mảng thành chuỗi trong php