2013-03-05 2 views
10

MySQL 용 utf8_unicode_cs 데이터 정렬이 있는지 아는 사람 있습니까? 지금까지 내 검색이 마르기까지되었습니다. 단순히 존재하지 않는다면, 그것을 간단하게 만들 수 있습니까? 또는 어떻게 든 utf8_unicode_ci 또는 utf8_bin을 사용하지만 utf8_unicode_cs 데이터 정렬에서 기대할 수있는 것을 "시뮬레이트"합니까?utf8_unicode_cs 데이터 정렬이 있습니까?

답변

11

나는 같은 문제를 겪었고 일부 인터넷 검색 후에는 MySQL에 포함되지 않은 것 같습니다. 당신이 그것을 넣어

1) 는 DB에서 대소 문자 구분을 보장하기 위해, "그것을 시뮬레이션"

  • 엄격한 선택됩니다 : SELECT "Joe"utf8_bin 정렬
    이 허용에 테이블 열을 설정
  • UNIQUE 인덱스가있는 열 : UNIQUE 인덱스가있는 열은 대소 문자를 다른 값으로 처리합니다. 예를 들어, utf8_unicode_ci 데이터 정렬이 사용 된 경우 "joe"가 이미있는 테이블에 "Joe"를 삽입하면 "Duplicate key"오류가 트리거됩니다. ut8_bin을 사용하는 경우 "Joe"를 삽입하면 정상적으로 작동합니다.

2) 결과에 적절한 순서를 효율적으로 활용하려면 다음 SQL 쿼리에 정렬을 추가

SELECT ... ORDER BY column COLLATE utf8_unicode_ci