Citlivost MySQL na velká a malá písmena ve výchozím nastavení řeší souborový systém, a proto jste našli tento rozdíl:
9.2.2. Rozlišování malých a velkých písmen v identifikátoru
V MySQL odpovídají databáze adresářům v datovém adresáři. Každá tabulka v databázi odpovídá alespoň jednomu souboru v adresáři databáze (a možná i více, v závislosti na úložišti). V důsledku toho hraje roli rozlišování malých a velkých písmen základního operačního systému v rozlišení velkých a malých písmen v názvech databází a tabulek. To znamená, že názvy databází a tabulek nerozlišují malá a velká písmena ve Windows a velká a malá písmena ve většině variant Unixu. Jednou významnou výjimkou je Mac OS X, který je založen na Unixu, ale používá výchozí typ systému souborů (HFS+), který nerozlišuje malá a velká písmena. Mac OS X však také podporuje svazky UFS, které rozlišují velká a malá písmena stejně jako na jakémkoli Unixu. Viz oddíl 1.8.4 – „Rozšíření MySQL pro standardní SQL“.
Naštěstí by vám mohla pomoci následující věta:
The lower_case_table_names systémová proměnná také ovlivňuje, jak server zachází s rozlišováním malých a velkých písmen v identifikátorech, jak je popsáno dále v této části.
lower_case_table_names
reklama:
Pokud je nastaveno na 0, názvy tabulek jsou uloženy tak, jak je uvedeno, a při porovnání se rozlišují velká a malá písmena. Pokud je nastaveno na 1, názvy tabulek jsou na disku uloženy malými písmeny a při porovnání se nerozlišují velká a malá písmena. Pokud je nastaveno na 2, názvy tabulek jsou uloženy tak, jak jsou uvedeny, ale porovnávají se malými písmeny. Tato možnost platí také pro názvy databází a aliasy tabulek. Další informace naleznete v části 9.2.2 – „Rozlišování malých a velkých písmen v identifikátoru“.
Tuto proměnnou byste neměli nastavovat na 0, pokud používáte MySQL na systému, který má názvy souborů bez rozlišení velkých a malých písmen (jako je Windows nebo Mac OS X). Pokud v takovém systému nastavíte tuto proměnnou na 0 a přistupujete k názvům tabulek MyISAM pomocí různých velkých písmen, může dojít k poškození indexu. V systému Windows je výchozí hodnota 1. V systému Mac OS X je výchozí hodnota 2.
Zdá se tedy, že byste měli nastavit lower_case_table_names
až 1
v konfiguračním souboru MySQL.