删除索引后恢复mysql区分大小写的全文搜索
我有一个数据库,在那里我删除了一列的全文索引。重新添加后,我无法恢复原来的行为 这里有一个例子 我创建表格并将字符集设置为utf8\u bin。我还添加了全文索引: 创建表testtable `日期`时间戳默认当前时间戳不为空, `Headline`VARCHAR256字符集utf8不为空, `Description`文本字符集utf8不为空, 主键标题` ; ALTER TABLE testtable转换为字符集utf8 COLLATE utf8\u bin; ALTER TABLE testtable添加全文标题; 我添加了一些虚拟数据: 在测试表标题中插入“苹果从树上掉下来的故事描述值”,; 在测试表标题中插入“苹果做了什么”之类的描述值,; 现在如果我搜索: 从testtable中选择'Date','Headline',其中以布尔模式将Headline与'apple'匹配; 及 从testtable中选择'Date','Headline',其中以布尔模式将Headline与'Apple'匹配; 很好,这很有效,这就是我想要的结果 现在,让我们删除索引,重新添加它,然后重试: 将索引标题放在测试表上; ALTER TABLE testtable转换为字符集utf8 COLLATE utf8\u bin;我也试过了,没什么不同 ALTER TABLE testtable添加全文标题; 从testtable中选择'Date','Headline',其中以布尔模式将Headline与'Apple'匹配; 返回null作为响应,但搜索apple将返回两行 所以问题是,这里发生了什么,更重要的是,我如何让表格恢复到原来的样子:一个区分大小写的全文索引,为苹果和苹果分别提供结果 使用Mysql 5.7和InnoDB引擎 谢谢你的帮助 默认情况下,搜索以不区分大小写的方式执行。到 执行区分大小写的全文搜索,使用二进制排序规则 索引列。例如,使用拉丁字母1的列 可以为的字符集分配一个latin1_bin排序规则以使其 全文搜索区分大小写删除索引后恢复mysql区分大小写的全文搜索,mysql,database,Mysql,Database,我有一个数据库,在那里我删除了一列的全文索引。重新添加后,我无法恢复原来的行为 这里有一个例子 我创建表格并将字符集设置为utf8\u bin。我还添加了全文索引: 创建表testtable `日期`时间戳默认当前时间戳不为空, `Headline`VARCHAR256字符集utf8不为空, `Description`文本字符集utf8不为空, 主键标题` ; ALTER TABLE testtable转换为字符集utf8 COLLATE utf8\u bin; ALTER TABLE test
是的,这指出我需要一个区分大小写的排序规则,我将使用它。无论是在创建索引时还是在删除索引后。我仍然不确定为什么会发生这种情况,数据库没有被触动,但在列级别重新分配字符集和排序似乎可以解决这个问题:ALTER TABLE testtable MODIFY HEADLE VARCHAR255字符集utf8 COLLATE utf8\u bin;
'2020-02-19 17:16:05', 'the story of how an apple fell from the tree'
'2020-02-19 17:18:38', 'Apple did something blah'