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 중국어 웹사이트의 기타 관련 기사를 참조하세요!