Wednesday, 17 August 2016

Are table names in MySQL case sensitive?




Are table names in MySQL case sensitive?



On my Windows dev machine the code I have is able to query my tables which appear to be all lowercase. When I deploy to the test server in our datacenter the table names appear to start with an uppercase letter.



The servers we use are all on Ubuntu.


Answer



In General:



Database and table names are not case sensitive in Windows, and case sensitive in most varieties of Unix.





In MySQL, databases correspond to directories within the data
directory. Each table within a database corresponds to at least one
file within the database directory. Consequently, the case sensitivity of the
underlying operating system plays a part in the case sensitivity of
database and table names.




One can configure how tables names are stored on the disk using the system variable lower_case_table_names. (in my.cnf configuration under [mysqld])




Read the section: 10.2.2 Identifier Case Sensitivity for more information.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...