2011-03-14 5 views
0

이 오류를 얻을 : Illegal mix of collations (greek_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '=' 난 내이 저장 프로 시저를 호출 할 때 : 나는 아무 문제을 이 없지만MySQL의 : 상점 절차 문제에 정렬의 불법 믹스

DELIMITER // 

CREATE PROCEDURE setVehicleStats (vehID text, vehStatus text, vehLat double, vehLon double) 
BEGIN 

    UPDATE vehicles SET st=vehStatus, lat=vehLat, lon=vehLon WHERE id=vehID; 

END// 

을 내가 직접 UPDATE 쿼리를 실행할 때 : UPDATE vehicles SET st='Καλημέρα' WHERE id='A001';

각 열에 대해 문자 집합을 명시 적으로 선언하려고했습니다. 문제는 프로 시저를 호출 할 때만 발생하는 것 같습니다! 어떤 도움 ?? 감사합니다 ...

+1

왜 지구상에서 사용하는 텍스트 데이터 유형 - EXTREME 할 조금 생각하지 사용자들은? –

답변

0

나는 문제가 vehStatus 매개 변수의 데이터 정렬 문제라고 생각합니다. 서버 또는 연결 기본 문자 집합은 latin1으로 설정되고 greek_general_ci 데이터 정렬은 greek 문자 집합 (ISO 8859-7)을 사용합니다. 이처럼 매개 변수를 선언하십시오 : ID 및 상태에 대한

vehStatus text character set greek 
+0

이것은 문제를 해결했습니다! 고맙습니다. 표의 기본 문자 집합은 그리스어로 설정됩니다. 어떤 기본 문자 집합을 의미합니까? – Vassilis

+0

연결에 대한 서버의 기본값이 있습니다. 이 경우 문제의 원인은 서버 기본 문자 집합입니다. – Xint0

+0

다시 한번 감사드립니다 !! – Vassilis