2012-06-29 1 views
2

나는 IPA 발음 음절의 mysql 테이블을 가지고 있으며 고유 키, 악센트 부호가있는 문자가 많이 포함 된 varchar에 대소 문자를 구분하고 싶습니다. 나는 또한 다른 액센트가있는 문자를 불평등하게 취급하고 싶습니다.mysql에서 utf8에 대해 대소 문자를 구분하는 방법이 있습니까?

나는 http://www.sitepoint.com/forums/showthread.php?580030-case-sensitive-unicode-table을 확인했으며, 내 고유성 문제를 해결할 것이라고 생각하지만 utf8_bin으로 인한 이상한 순서 지정을 원하지 않습니다.

난 프로그래밍 방식으로 최대 절전 모드를 통해 자바를 통해 DB에 액세스해야하므로 고유 키가 음절 varchar와 정수 (java.lang.String 또는 일부 사용자 지정 해시에서 고유 키로 변경 될 수 있다고 생각하고있었습니다. 문자열의),하지만 이것은 충돌의 작은 가능성을 떠난다.

너무 많은 작업이 아니라면이 사용 사례에 대한 내 자신의 맞춤 데이터 정렬을 만들려고 기꺼이 할 수 있습니다. utf8_bin 데이터 정렬 대신 좋은 방법은 무엇입니까? 모든 지침을 부탁드립니다.

답변

2

choose a collation on a per-query, per-clause basis 수 있습니다. 테이블을 만들 때 선택한 데이터 정렬은 단순히 기본값입니다. 따라서 비교를 위해 bin 데이터 정렬을 사용할 수 있으며 주문하려면 다른 데이터 정렬을 사용할 수 있습니다.

+1

동일한 기술을 사용하는 다른 [source] (http://dev.mysql.com/doc/refman/5.0/case-sensitivity.html) –