Case of MySQL table name

Source: Internet
Author: User
Tags lowercase

MySQL under Linux database name, table name, column name, alias casing rules are like this:

1, database name and table name are strictly case-sensitive;

2, the table alias is strictly case-sensitive;

3, the column name and the alias of the column in all cases are ignored case;

4, variable names are also strictly case-sensitive;

MySQL is case insensitive under Windows.

So in different operating systems in order to make the program and database can work properly, the best way is to be in the design of the time to lowercase, but if the design has been normalized case, then in the Windows environment as long as the configuration of the database to make changes to the line, the specific operation is as follows:

Add a line in the MySQL configuration file My.ini [mysqld]

Lower_case_table_names = 1

Parameter explanation:

0: Case Sensitive

1: Case insensitive

In MySQL, the database and table pairs are in the directories and files under those directories. Thus, the sensitivity of the operating system determines the case sensitivity of database and table naming. This means that the database and table names are case-insensitive in Windows and are case-sensitive in most types of Unix systems.

Oddly, the alias of the column name and column is case-insensitive in all cases, and the table alias is case-sensitive.

To avoid this problem, you might want to use a combination of lowercase letters and underscores instead of any uppercase letters when defining database naming rules.

Alternatively, you can force the start of mysqld with the-o lower_case_table_names=1 parameter (if you use the--DEFAULTS-FILE=...\MY.CNF parameter to read the specified configuration file to start mysqld, you need to configure the [ MYSQLD] section to add a row of Lower_case_table_names=1). This will automatically convert all table names to lowercase characters (this option is 1 in Windows by default and 0 in Unix) when creating and looking for MySQL. Starting with MySQL 4.0.2, this option also applies to the database name.

When you change this option, you must first convert the old table names to lowercase letters before starting mysqld.

In other words, if you want to keep the uppercase and lowercase characters state when you create the table in the database, you should set this parameter to 0:lower_case_table_names=1. Otherwise, you'll find that the same Sqldump script will eventually import differently under different operating systems (all uppercase characters in Windows will be lowercase).

Quoted http://blog.csdn.net/centralperk/article/details/8574050

Case of MySQL table name

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.