В MySQL чувствительны регистр имен столбцов и таблиц? - PullRequest
62 голосов
/ 05 января 2010

Если у меня есть имена столбцов с именами category_id и Category_Id, они отличаются?

А если у меня есть таблица с именами category и Category, они разные?

Ответы [ 5 ]

72 голосов
/ 05 января 2010

В Unix имена таблиц чувствительны к регистру. На винде их нет. Веселье, не правда ли? Вроде как их соответствующие файловые системы. Как вы думаете, это совпадение?

Другими словами, если вы планируете развертывание на машине с Linux, лучше протестируйте свой SQL и на основе MySQL на основе Linux, или будьте готовы к таинственным ошибкам «таблица не найдена» во время работы. Виртуальные машины дешевы в наши дни.

Имена полей не чувствительны к регистру независимо.

РЕДАКТИРОВАТЬ: мы говорим об операционной системе на компьютере MySQL сервер , а не клиент.

17 голосов
/ 29 мая 2014

Из документации MySQL :

базы данных и имена таблиц не чувствительны к регистру в Windows, и регистр чувствителен в большинстве разновидностей Unix. Одним заметным исключением является Mac OS X, основанный на Unix, но использующий тип файловой системы по умолчанию (HFS +), который не чувствительна к регистру.

и

Имена столбцов и индексов не чувствительны к регистру на любой платформе, а также псевдонимы столбцов.

5 голосов
/ 05 января 2010

Для имен баз данных и таблиц это зависит от базовой операционной системы. См. 8.2.2. Идентификатор регистра чувствительности

3 голосов
/ 05 января 2010

Вы можете найти это , необходимое для чтения. В MySQL можно установить чувствительность к регистру, но это действительно проблема только при работе в нескольких средах.

1 голос
/ 23 июля 2015

Как ни странно, кажется чувствительным к регистру в MySQL Workbench даже в Windows.

Мы просто пытались изменить результаты оператора SELECT, но Workbench не позволил нам, жалуясь, что наш запрос не включал первичный ключ таблицы (что он сделал, но в нижнем регистре), поэтому результат был прочитан только. Выполнение того же запроса с первичным ключом в правильном регистре (идентификатор вместо идентификатора) позволит нам отредактировать результаты, как и ожидалось.

...