Are column and table name case sensitive in MySQL?

杀马特。学长 韩版系。学妹 提交于 2019-11-26 11:04:09

问题


If I have a column names called category_id and Category_Id, are they different?

And if I have table called category and Category, are they different?


回答1:


On Unix, table names are case sensitive. On Windows, they are not. Fun, isn't it? Kinda like their respective file systems. Do you think it's a coincidence?

In other words, if you are planning on deploying on a Linux machine, better test your SQL against a Linux-based MySQL too, or be prepared for mysterious "table not found" errors at prod time. VMs are cheap these days.

Field names are case-insensitive regardless.

EDIT: we're talking about the operating system on the MySQL server machine, not client.




回答2:


From the MySQL documentation:

database and table names are not case sensitive in Windows, and case sensitive in most varieties of Unix. One notable exception is Mac OS X, which is Unix-based but uses a default file system type (HFS+) that is not case sensitive.

and

Column and index names are not case sensitive on any platform, nor are column aliases.




回答3:


For database and table names, it depends on the underlying operating system. See 8.2.2. Identifier Case Sensitivity




回答4:


You might find this necessary to read. It is possible to set the case sensitivity in MySQL but it really is only a problem when you work in multiple environments.




回答5:


Strangely enough it seems to be case sensitive in the MySQL Workbench even on Windows.

We just tried to alter the results of a SELECT statement but the Workbench didn't let us, complaining that our query did not include the table's primary key (which it did but in lower-case) so the result was read-only. Running the same query with the primary key in proper case (ID instead of id) would let us edit the results as expected.



来源:https://stackoverflow.com/questions/2009005/are-column-and-table-name-case-sensitive-in-mysql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!