Если у меня есть имена столбцов category_id
и Category_Id
, они разные?
А если у меня есть таблица с именами category
и Category
, они разные?
Если у меня есть имена столбцов category_id
и Category_Id
, они разные?
А если у меня есть таблица с именами category
и Category
, они разные?
В Unix имена таблиц чувствительны к регистру. В Windows их нет. Весело, не правда ли? Вроде как их соответствующие файловые системы. Как вы думаете, это совпадение?
Другими словами, если вы планируете развертывание на машине Linux, лучше протестируйте свой SQL и MySQL на базе Linux, или будьте готовы к загадочным ошибкам «таблица не найдена» во время работы. В настоящее время виртуальные машины дешевы.
Имена полей (столбцов) не чувствительны к регистру.
РЕДАКТИРОВАТЬ: мы говорим об операционной системе на сервере MySQL, а не о клиенте.
SELECT * FROM my_table WHERE MY_TABLE.col=1;
, поэтому вполне корректно, но в любом случае его следует рассматривать как чувствительный к регистру ...
- person David M; 05.01.2010
.frm
файл, в котором хранится структура данных. Поскольку имена таблицы и файла совпадают, чувствительность к регистру таблиц полностью зависит от чувствительности к регистру файловой системы на сервере.
- person Andras Nemeth; 05.11.2012
Size
и size
- это один и тот же столбец. INSERT INTO table_name (SIZE, gender) VALUES (123, 456);
успешно вставит значения в столбцы size
и GeNdEr
- person Sliq; 17.04.2019
Из документации MySQL:
Имена баз данных и таблиц не чувствительны к регистру в Windows и чувствительны к регистру в большинстве разновидностей Unix. Заметным исключением является Mac OS X, основанная на Unix, но использующая тип файловой системы по умолчанию (HFS +), не чувствительный к регистру.
а также
Имена столбцов и индексов не чувствительны к регистру ни на одной платформе, равно как и псевдонимы столбцов.
Для имен базы данных и таблиц это зависит от базовой операционной системы. См. 8.2.2. Чувствительность к регистру идентификатора
Как ни странно, кажется чувствительным к регистру в MySQL Workbench даже в Windows.
Мы просто пытались изменить результаты оператора SELECT, но Workbench не позволил нам, жалуясь, что наш запрос не включал первичный ключ таблицы (что было, но в нижнем регистре), поэтому результат был доступен только для чтения. Выполнение того же запроса с первичным ключом в надлежащем случае (ID вместо id) позволит нам отредактировать результаты, как ожидалось.