2

我有一个 IPA 发音音节的 mysql 表,我想在一个唯一键上区分大小写,一个包含许多带有重音符号的字符的 varchar。我还希望将具有不同口音的字符视为不平等。

我查看了 http://www.sitepoint.com/forums/showthread.php?580030-case-sensitive-unicode-table,虽然我认为它可以解决我的唯一性问题,但我不希望有奇怪的排序引起通过 utf8_bin。

我只需要通过 java 通过 hibernate 以编程方式访问数据库,所以我想我可以将唯一键更改为音节 varchar 和整数(java.lang.String 或字符串的一些自定义哈希)上的唯一键,但这会留下很小的碰撞可能性。

如果工作量不大,我愿意为此用例创建自己的自定义排序规则。什么是 utf8_bin 排序规则的好选择?任何指导表示赞赏。

4

1 回答 1

2

您可以在每个查询、每个子句的基础上选择排序规则,创建表时选择的排序规则只是默认设置。因此,您可以使用bin排序规则进行比较,使用排序规则进行排序。

于 2012-06-29T15:42:07.290 回答