`

MySQL的大小写敏感设置

阅读更多
在 MySQL 中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。

奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。

要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。

或者也可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 --defaults-file=...\my.cnf 参数来读取指定的配置文件启动 mysqld 的话,你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_table_names=1)。这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。

当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

换句话说,如果你希望在数据库里面创建表的时候保留大小写字符状态,则应该把这个参数置0: lower_case_table_names=1 。否则的话你会发现同样的sqldump脚本在不同的操作系统下最终导入的结果不一样(在Windows下所有的大写字符都变成小写了)。

分享到:
评论

相关推荐

    有关MySQL8.0大小写敏感的问题

    ### MySQL 8.0 大小写敏感性问题详解 #### 一、引言 MySQL 8.0作为MySQL数据库的重要版本更新,引入了一系列的新特性与优化改进,其中包括对数据库和表名大小写敏感性的调整。这一变化对于新老用户来说都需要一定...

    mysql大小写敏感

    MySQL 大小写敏感 MySQL 中的大小写敏感性是指数据库名、表名、列名、别名等在不同的操作系统平台上的大小写规则。 MySQL 在 Linux 下默认情况下是严格区分表名和数据库名的大小写,而在 Windows 下则不区分大小写...

    PostgreSQL数据库对象名大小写敏感的解决方法

    与PostgreSQL相比,MySQL对数据库对象名的大小写敏感性取决于运行MySQL的操作系统。在大多数Unix系统中,数据库名和表名对大小写敏感;而在Windows系统中,它们对大小写不敏感。然而,Mac OS X是一个特例,尽管基于...

    MySQL的SQL语句大小写不敏感问题解决方案

    MySQL 的 SQL 语句大小写不敏感问题解决方案 MySQL 的 SQL 语句大小写不敏感问题是一...MySQL 的 SQL 语句大小写不敏感问题是一个需要注意的问题,通过设置表名的大小写规则和字段的 BINARY 属性,可以解决这个问题。

    Mysql大小写敏感的问题

    一、MySQL的大小写敏感性: 1. **创建表时的大小写敏感性**: 默认情况下,MySQL在查询时对表名和列名是不区分大小写的,这主要取决于你的操作系统和MySQL配置。例如,`CREATE TABLE NAME (name VARCHAR(10))`,在...

    LINUX系统下mysql的大小写区分问题.docx

    需要注意的是,尽管可以通过这些方法来控制大小写敏感性,但最佳实践是始终以一种一致的方式编写数据库对象的名称,避免因大小写问题引发的混淆和错误。在开发和维护过程中,保持命名规范和一致性至关重要,尤其是当...

    数据库区分大小写的设置

    本文将深入探讨SQL Server与MySQL这两种主流数据库管理系统中关于大小写敏感性的设置。 #### SQL Server 大小写敏感性设置 SQL Server默认情况下对标识符(例如表名、列名等)是不区分大小写的。然而,在某些场景...

    MySQL数据库大小写敏感的问题

    MySQL数据库在处理数据库名、表名以及列名时的大小写敏感性问题是一个常见的困扰,尤其是在跨不同操作系统环境时。MySQL的行为受所运行的操作系统的影响,因为数据库名和表名实际上对应于数据目录中的文件名。在...

    教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感

    MySQL大小写敏感可以通过配置文件的lower_case_table_names参数来控制。 WINDOWS: 编辑MySQL安装目录下的my.ini 文件,在[mysqld]节下 添加 lower_case_table_names=0 (备注:为0时大小写敏感,为1时大小写不敏感...

    0积分:MySql表名大小写的问题.txt

    ### MySQL表名大小写敏感性问题详解 #### 标题:0积分:MySql表名大小写的问题 #### 描述:MySql表名大小写的问题 #### 标签:mysql 大小写 #### 部分内容摘要: > 在MySQL环境中,表名的大小写敏感性是一个常见...

    MySQL大小写敏感导致的问题分析

    MYSQL对大小写敏感 见字如面,见标题知内容。你有遇到过因为MYSQL对大小写敏感而被坑的体验吗? 之前看过阿里巴巴Java开发手册,在MySql建表规约里有看到: 【强制】表名、字段名必须使用小写字母或数字 , 禁止...

    mysql基础-不设置区分大小写

    此外,如果你已经有一个区分大小写的数据库,更改此设置可能导致已有的大小写敏感的表名无法正常识别,所以在生产环境中修改这个设置前,一定要谨慎并做好备份。 总的来说,通过调整`lower_case_table_names`配置,...

    MySql下实现查询表名不区分大小写

    在MySQL数据库管理中,表名和数据库名的大小写敏感性是一个重要的配置选项,尤其是在不同操作系统环境下。在Linux系统中,默认情况下,MySQL是严格区分大小写的,这与Windows环境下的行为形成鲜明对比,后者默认不...

    基于MyBatis Generator的MySQL大小写敏感配置扩展类与分表动态替换表名设计源码

    本项目为MyBatis Generator(MBG)定制扩展,旨在处理MySQL大小写敏感配置及分表时的动态表名替换。包含69个文件,涵盖38个Java源文件、16个XML配置文件、3个Markdown文档、3个JAR包、2个PNG图片、1个Git忽略文件、1...

    使MySQL查询区分大小写.doc

    在MySQL中,查询默认情况下通常是不区分大小写的,但如果你想让你的查询对大小写敏感,有几种方法可以实现。以下是一些关键知识点和步骤来帮助你在MySQL中进行区分大小写的查询。 1. **设置列的Collation** - **...

    mysql表名忽略大小写配置方法详解

    MySQL数据库在处理表名、数据库名以及列名时的大小写规则可能会因操作系统的差异而有所不同。...尽管可以配置MySQL忽略大小写,但这并不能解决所有可能的兼容性问题,尤其是在已存在大小写敏感数据的情况下。

    MySQL修改配置 区分大小写

    MySql查询不区分大小写解决方案(两种)MySQL中查询的有关英文字母大小写问题的分析Mysql大小写敏感的问题Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误教你如何在windows与linux系统中设置...

Global site tag (gtag.js) - Google Analytics