2009-06-15 12 views
11

Potrzebuję waszej pomocy w identyfikacji, dlaczego ten błąd nadchodziMySQL Illegal mix sortowania (utf8_unicode_ci, bezpośrednia) i (utf8_general_ci, bezpośrednia) dla operacji „=”

Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=' 

Procedura działa dobrze aż do wczoraj i dzisiaj zaczęło podawać błędnie nielegalną mieszankę kolacji. Sprawdziłem każdą tabelę mojej bazy danych, a wszystkie tabele i jej kolumny są w jednym zestawie znaków i sortowaniu: - utf8 utf8_unicode_ci.

Stworzyłem inny schemat o tej samej strukturze i próbowałem wykonać to samo zapytanie, które działa dobrze, ale nie na oryginalnym schemacie.

może ktoś podać jakiekolwiek dane wejściowe na ten temat? Dlaczego tak się dzieje?

+1

Rzeczywista zapytanie i komunikat błędu byłoby pomocne. – VolkerK

Odpowiedz

9

Miałem ten sam problem i odkryłem, że tabele miały taką samą sortowanie, ale kolumny nie. Możesz pobrać wersję próbną mysqlyog, a w alter alter odznaczyć opcje ukrywania języka .... Najszybszy sposób, aby zobaczyć.

+0

Miałem ten problem również @Radmilo, jeśli jestem w stanie rozwiązać to przez szybką odpowiedź, muszę powiedzieć, bardzo dziękuję! – swdev

+0

Dokładnie mój problem. W kolumnach. Dzięki! – racl101

4

w moim przypadku było to z powodu głupiego stołu roboczego mysql - to jakoś dodaje do domyślnej procedury sortowania ze schematu (do niektórych metadanych lub czego), a następnie, jeśli zbadasz coś w procedurze do różnych sortowań, ten wyjątek występuje;

należy ustawić prawidłową (ten, który jest wykorzystywany w procedurze) sortowania do schematu, a następnie ponownie edytować procedurę i zastosować zmiany (musi zostać ponownie zapisany lub odtworzone) i wszystko jest teraz ok

2

Każdy parametr z funkcja concat musi zostać przekonwertowana.

CONCAT(CONVERT(field_A USING utf32), CONVERT(field_B USING utf32)) 

Lub które kiedykolwiek działają z twoim problemem.

0

moim problemem było to samo, ale w moim przypadku wystarczy używał konwersji przed użyciem sql - w php

iconv(...) 
Powiązane problemy