65.9K
CodeProject is changing. Read more.
Home

Camel Case Table Names in MySQL

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2 votes)

Mar 27, 2011

CPOL

1 min read

viewsIcon

25363

A solution to casing problems in MySQL

I have been working with Entity Framework 4 and MySQL. The main problem I have found is that since I am working on a Windows server, the table names in the database are all lower case. This means that when I create the entities in Visual Studio, the classes are all lower case.

So I have found this solution:

There is a setting in the configuration file in the MySQL server directory. I am using Windows 7, so this was under: C:\Program Files (x86)\MySQL\MySQL Server 5.5C:\Program Files (x86)\MySQL\MySQL In this Server 5.5\.

In this directory, you will find a file: my.cnf. This governs how MySQL runs. You will need to change or add a line to allow Camel casing of table names. Please note that you should read http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html. This details the changes and how they should be used on different Operating Systems. I am only detailing how I got this to work on Windows. If you are running Linux, then please go to the link mentioned above to make sure that the change will not affect your system / MySQL instance.

Steps taken to allow Camel casing:

  • Go to Control Panel –> Administrative Tools –> Services.
  • Stop the MySQL Service.
  • Open C:\Program Files (x86)\MySQL\MySQL Server 5.5C:\Program Files (x86)\MySQL\MySQL In this Server 5.5\.
  • Open the my.cnf file as Administrator.
  • Add the line lower_case_table_names=2 under the mysqld section. If this line is there, then just change the value to ‘2’. Make sure that there is only one line there.
  • Go back to Services and restart MySQL.

You should be done. Hope this short guide has helped.