Mysql нечувствительные к регистру имена таблиц
У меня было две базы данных, одна на сервере Windows, и одна на сервере Linux, я переместил базу данных на сервер Linux, но столкнулся с проблемой, в Windows, когда сделал выбор для примера
SELECT * FROM tabledata
Работал нормально.
но Linux это не работает, потому что оригинальные имена таблиц tableData
Есть ли способ настроить MySQL без учета регистра?
2 ответа
Яркий пример запутанного кроссплатформенного дизайна. Из документации MySQL по этому вопросу:
чувствительность к регистру базовой операционной системы играет роль в чувствительности к регистру имен баз данных и таблиц. Это означает, что имена баз данных и таблиц не чувствительны к регистру в Windows, и чувствительны к регистру в большинстве разновидностей Unix.
К счастью, есть директива конфигурации lower_case_table_names, которая при значении 2 отключает чувствительность к регистру для сравнений.
Почему бы просто не переименовать таблицу?
ALTER TABLE tableData RENAME TO tabledata;