Rozróżnianie wielkości liter w MySQL jest domyślnie obsługiwane przez system plików, dlatego znalazłeś tę różnicę:
9.2.2. Rozróżnianie wielkości liter w identyfikatorze
W MySQL bazy danych odpowiadają katalogom w katalogu danych. Każda tabela w bazie danych odpowiada co najmniej jednemu plikowi w katalogu bazy danych (i prawdopodobnie większej liczbie, w zależności od silnika magazynu). W związku z tym rozróżnianie wielkości liter w bazowym systemie operacyjnym odgrywa rolę w rozróżnianiu wielkości liter w nazwach baz danych i tabel. Oznacza to, że w nazwach baz danych i tabel nie jest rozróżniana wielkość liter w systemie Windows i wielkość liter w większości odmian systemu Unix. Jednym godnym uwagi wyjątkiem jest Mac OS X, który jest oparty na systemie Unix, ale używa domyślnego typu systemu plików (HFS+), w którym nie jest rozróżniana wielkość liter. Jednak Mac OS X obsługuje również woluminy UFS, w których rozróżniana jest wielkość liter, tak jak w każdym systemie Unix. Zobacz Sekcja 1.8.4, „Rozszerzenia MySQL do standardowego SQL”.
Na szczęście następne zdanie może ci pomóc:
lower_case_table_names zmienna systemowa wpływa również na sposób, w jaki serwer obsługuje rozróżnianie wielkości liter w identyfikatorze, jak opisano w dalszej części tej sekcji.
lower_case_table_names
notka:
Jeśli jest ustawiona na 0, nazwy tabel są przechowywane zgodnie ze specyfikacją, a w porównaniach rozróżniana jest wielkość liter. Jeśli jest ustawiona na 1, nazwy tabel są przechowywane na dysku małymi literami, a w porównaniach nie jest rozróżniana wielkość liter. Jeśli ustawiono na 2, nazwy tabel są przechowywane tak, jak podano, ale porównywane są małymi literami. Ta opcja dotyczy również nazw baz danych i aliasów tabel. Aby uzyskać dodatkowe informacje, zobacz Sekcja 9.2.2, „Wrażliwość na wielkość liter w identyfikatorze”.
Nie należy ustawiać tej zmiennej na 0, jeśli używasz MySQL w systemie, w którym nazwy plików nie uwzględniają wielkości liter (takich jak Windows lub Mac OS X). Jeśli ustawisz tę zmienną na 0 w takim systemie i uzyskasz dostęp do nazw tabel MyISAM przy użyciu różnych liter, może to spowodować uszkodzenie indeksu. W systemie Windows wartość domyślna to 1. W systemie Mac OS X wartość domyślna to 2.
Wygląda na to, że powinieneś ustawić lower_case_table_names
do 1
w pliku konfiguracyjnym MySQL.