집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 \'잘못된 데이터 정렬 혼합\' 오류를 어떻게 해결합니까?
MySQL의 잘못된 데이터 정렬 오류: 데이터 정렬 혼합 해결
MySQL의 "잘못된 데이터 정렬 혼합" 오류는 다음과 값을 비교할 때 발생합니다. 다른 문자 집합이나 데이터 정렬. 쿼리의 맥락에서 이 문제를 분석해 보겠습니다.
<code class="sql">SELECT username, (SUM(rating)/COUNT(*)) as TheAverage, Count(*) as TheCount FROM ratings WHERE month='Aug' AND username IN (SELECT username FROM users WHERE gender =1) GROUP BY username HAVING TheCount > 4 ORDER BY TheAverage DESC, TheCount DESC</code>
쿼리에 다음 줄을 추가하면
<code class="sql">AND username IN (SELECT username FROM users WHERE gender =1)</code>
"잘못된 데이터 정렬 혼합" 오류가 발생했습니다. 이는 등급 테이블의 사용자 이름 열과 사용자 테이블의 사용자 이름 열의 데이터 정렬이 다를 수 있기 때문입니다.
잘못된 데이터 정렬 식별:
어느 데이터 정렬인지 확인하려면 열이 데이터 정렬 충돌을 일으키는 경우 다음 쿼리를 사용하세요.
<code class="sql">SELECT table_schema, table_name, column_name, character_set_name, collation_name FROM information_schema.columns WHERE collation_name = 'latin1_general_ci' ORDER BY table_schema, table_name, ordinal_position;</code>
이 쿼리는 latin1_general_ci 데이터 정렬이 있는 테이블과 열을 표시합니다.
문제 해결:
오류를 해결하려면 데이터 정렬이 잘못된 테이블을 필요한 데이터 정렬(일반적으로 latin1_swedish_ci)로 변환하세요. 다음 쿼리를 사용하세요.
<code class="sql">ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';</code>
여기서 tbl_name은 데이터 정렬이 잘못된 테이블의 이름입니다.
데이터 정렬 충돌을 해결하면 수정된 쿼리가 성공적으로 실행됩니다.
위 내용은 MySQL에서 \'잘못된 데이터 정렬 혼합\' 오류를 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!