Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak rozwiązać błąd Nielegalnej mieszanki sortowania (latin1_general_ci,IMPLICIT)

Spędziłem pół dnia na szukaniu odpowiedzi na budzący postrach błąd „Nielegalna mieszanka zestawień”. Zauważyłem, że niektóre kolumny w mojej bazie danych nie zostały specjalnie posortowane utf8_unicode_ci . Wygląda na to, że mysql niejawnie posortował te kolumny utf8_general_ci .

W szczególności uruchomienie zapytania „SHOW CREATE TABLE table1” dało wynik podobny do następującego:

| tabela1 | CREATE TABLE table1 (id int(11) NOT NULL,col1 varchar(4) ZESTAW ZNAKÓW utf8 NIE NULL,col2 int(11) NOT NULL,PRIMARY KEY (photo_id ,tag )) ENGINE=Domyślny zestaw znaków InnoDB=utf8 UKŁADANIE=utf8_unicode_ci |

Zwróć uwagę na wiersz 'col1' varchar(4) ZESTAW ZNAKÓW utf8 NOT NULL nie ma określonego sortowania. Następnie uruchomiłem następujące zapytanie:

ALTER TABLE tabela1 CHANGE col1 col1 VARCHAR(4) ZESTAW ZNAKÓW utf8COLLATE utf8_unicode_ci NOT NULL;

To rozwiązało mój błąd „Illegal mix of collations”. Mam nadzieję, że to może pomóc komuś innemu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd składni MySQL podczas tworzenia tabeli

  2. Jak szybko ponownie posortować tabelę MySQL według jednej z kolumn?

  3. Najszybszy sposób na uruchomienie XAMPP lub WAMP na 64-bitowym Win7?

  4. sprawdź wiek przed zarejestrowaniem użytkownika, aby sprawdzić, czy ma więcej niż określony wiek za pomocą mvc

  5. Aktualizacja MySQL z wyborem podrzędnym