Skip to content

MySQL Case Sensitive Table Name Issue

Kelvin Ubaechu edited this page May 3, 2024 · 1 revision

Differences of MySQL on Windows/Mac vs. Linux (Ubuntu)

The developers on our team using Ubuntu had trouble running EML-CTS due to an issue with the queries for the position table. The issue stemmed from how MySQL handled case-sensitivity on Windows and Mac vs. how it does the same on Linux. On Windows and Mac, table names are case insensitive so position or Position in queries both referred to the same table. On the other hand, table names on Linux are case sensitive, so position and Position would both refer to two separate tables. As a result, when EML-CTS tried to update or query the position table on Linux, the queries would not be able to find the Position table and then return an error. Refer to this official MySQL Doc for more details on how MySQL handles identifier case sensitivity.

The Fix

To accommodate the Ubuntu developers, references to the position table in queries were updated to always be lowercase. If any more queries for the position table are added, ensure the table names are lowercase.

Clone this wiki locally