Чувствителността на малки и малки букви на MySQL по подразбиране се обработва от файловата система, поради което открихте тази разлика:
9.2.2. Чувствителност на идентификатора
В MySQL базите данни съответстват на директории в директорията с данни. Всяка таблица в базата данни съответства на поне един файл в директорията на базата данни (и вероятно повече, в зависимост от механизма за съхранение). Следователно чувствителността на малки и малки букви на основната операционна система играе роля в чувствителността на малки и големи имена на база данни и имена на таблици. Това означава, че имената на база данни и таблици не са чувствителни към малки и големи букви в Windows и в повечето разновидности на Unix. Едно забележително изключение е Mac OS X, който е базиран на Unix, но използва тип файлова система по подразбиране (HFS+), който не е чувствителен към малки и големи букви. Въпреки това, Mac OS X също поддържа UFS томове, които са чувствителни към главни букви, както при всеки Unix. Вижте раздел 1.8.4, “Разширения на MySQL към стандартен SQL”.
За щастие следващото изречение може да ви помогне:
lower_case_table_names системната променлива също влияе върху начина, по който сървърът се справя с чувствителността към малки и малки букви на идентификатора, както е описано по-нататък в този раздел.
lower_case_table_names
рекламен текст:
Ако е зададено на 0, имената на таблици се съхраняват, както е посочено, а сравненията са чувствителни към главни букви. Ако е зададено на 1, имената на таблици се съхраняват с малки букви на диска и сравненията не са чувствителни към главни букви. Ако е зададено на 2, имената на таблици се съхраняват като дадени, но се сравняват с малки букви. Тази опция се прилага и за имена на бази данни и псевдоними на таблици. За допълнителна информация вижте раздел 9.2.2, „Чувствителност на регистрите на идентификатора“.
Не трябва да задавате тази променлива на 0, ако работите с MySQL на система, която има имена на файлове, които не са чувствителни към главни букви (като Windows или Mac OS X). Ако зададете тази променлива на 0 в такава система и осъществите достъп до MyISAM имена на таблици, използвайки различни букви, може да доведе до повреда на индекса. В Windows стойността по подразбиране е 1. В Mac OS X стойността по подразбиране е 2.
Така изглежда, че трябва да зададете lower_case_table_names
до 1
в конфигурационния файл на MySQL.