>데이터 베이스 >MySQL 튜토리얼 >MySQL '잘못된 데이터 정렬 혼합' 오류를 어떻게 해결합니까?

MySQL '잘못된 데이터 정렬 혼합' 오류를 어떻게 해결합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-18 02:20:11838검색

How Do I Fix the MySQL

MySQL에서 "잘못된 데이터 정렬 혼합" 오류 문제 해결

MySQL에서 "잘못된 데이터 정렬 혼합" 오류가 발생하면 다음을 나타내는 경우가 많습니다. 문자열을 비교하거나 결합할 때 데이터 정렬이 호환되지 않습니다. 이는 서로 다른 문자 집합과 대조 규칙을 가진 데이터가 혼합되어 오류가 발생하는 경우에 발생합니다.

이 문제를 해결하려면 비교 또는 선택되는 열에 대해 공유 대조를 지정해야 합니다. 이는 쿼리 내에서 사용할 데이터 정렬을 지정할 수 있는 COLLATE 절을 사용하여 달성할 수 있습니다.

예를 들어, 주어진 시나리오에서 오류를 해결하려면 다음 쿼리를 사용할 수 있습니다.

SELECT * FROM table ORDER BY key COLLATE latin1_general_ci;

이 쿼리는 latin1_general_ci 데이터 정렬을 사용하여 키 열이 정렬되어 table.

또 다른 옵션은 비교 전에 문자열을 이진 형식으로 변환하는 BINARY 연산자를 사용하는 것입니다. 이는 CAST(str AS BINARY)의 약어이며 다음과 같이 사용할 수 있습니다.

SELECT * FROM table WHERE BINARY a = BINARY b;

값을 바이너리로 캐스팅하면 대조 규칙의 차이가 무시되므로 올바른 비교가 가능합니다.

값을 바이너리로 캐스팅하면 해당 열의 인덱스가 무시될 수 있다는 점에 유의하는 것이 중요합니다. 자세한 내용은 이 특정 문제에 대해 eggyal에서 제공하는 권장 답변을 참조하세요.

위 내용은 MySQL '잘못된 데이터 정렬 혼합' 오류를 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.