目前,我的数据库是字符集的Latin1
意思
SELECT * FROM TABLE MATCH(column1) AGAINST('"words here"' IN BOOLEAN MODE)
只会返回不敏感的搜索。但问题是我的数据库将使用不敏感和区分大小写的搜索进行搜索。有没有办法解决这个问题,以便我可以使用同一张表进行搜索?latin1_bin
如果用户的搜索区分大小写,这是否可能,或者我是否会被迫使用字符集来查询。
目前,我的数据库是字符集的Latin1
意思
SELECT * FROM TABLE MATCH(column1) AGAINST('"words here"' IN BOOLEAN MODE)
只会返回不敏感的搜索。但问题是我的数据库将使用不敏感和区分大小写的搜索进行搜索。有没有办法解决这个问题,以便我可以使用同一张表进行搜索?latin1_bin
如果用户的搜索区分大小写,这是否可能,或者我是否会被迫使用字符集来查询。
我想到了一种天真的方法:将文本两次存储在两个不同的列中(具有两个不同的索引)。一个带有latin1_bin
(用于区分大小写的搜索),另一个带有latin1_*_ci
(用于不区分大小写的搜索)。
旁注:
latin1_bin
)有其他副作用,例如将重音字符视为与非重音字符不同(例如“é”<>“e”)。