【发布时间】:2017-09-26 09:54:33
【问题描述】:
最近我将我的数据库表从 MyISAM 更改为 InnoDB。现在我有一些使用 MATCH 和 AGAINST 的查询。
以下查询是从 MyISAM 更改为 InnoDB 后导致错误的示例查询
SELECT * FROM test WHERE MATCH (test_desc) AGAINST ("*+test" IN BOOLEAN MODE);
// error: Error Code: 1064. syntax error, unexpected '+', expecting FTS_TERM or FTS_NUMB or '*
当我删除 * 或将其放在“+”号之后,它的工作状态和我得到与以前相同的行,但这是正确的吗?
SELECT * FROM tests WHERE MATCH (test_desc) AGAINST ("+*test" IN BOOLEAN MODE); // works, * after +, BUT IS THIS CORRECT
【问题讨论】:
标签: mysql innodb wildcard match-against