3

目前,我的数据库是字符集的Latin1意思

SELECT * FROM TABLE MATCH(column1) AGAINST('"words here"' IN BOOLEAN MODE)

只会返回不敏感的搜索。但问题是我的数据库将使用不敏感和区分大小写的搜索进行搜索。有没有办法解决这个问题,以便我可以使用同一张表进行搜索?latin1_bin如果用户的搜索区分大小写,这是否可能,或者我是否会被迫使用字符集来查询。

4

1 回答 1

1

我想到了一种天真的方法:将文本两次存储在两个不同的列中(具有两个不同的索引)。一个带有latin1_bin(用于区分大小写的搜索),另一个带有latin1_*_ci(用于不区分大小写的搜索)。

旁注:

  1. 这是整理的问题,而不是字符编码(又名字符集)
  2. 使用二进制排序规则(例如latin1_bin)有其他副作用,例如将重音字符视为与非重音字符不同(例如“é”<>“e”)。
于 2014-05-22T09:28:32.707 回答