当前位置: 首页 > 编程日记 > 正文

MySQL数据库表名、列名、别名区分大小写的问题

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小写,但是如果在设计的时候已经规范化大小写了,那么在Windows环境下只要对数据库的配置做下改动就行了,具体操作如下:

在MySQL的配置文件中my.ini [mysqld] 中增加一行

lower_case_table_names = 1

参数解释:

0:区分大小写

1:不区分大小写

在 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下所有的大写字符都变成小写了)。

转载于:https://www.cnblogs.com/50614090/archive/2011/07/25/2116330.html

相关文章:

【java】兴唐第十七节课

1、抽象类: 概念:由abstract修饰的类叫抽象类。 特征:在抽象类中有抽象方法 注意: (1)抽象方法必须定义到抽象类中,即有抽象方法的类一定是抽象类。抽象类的非抽象子类必须实现父类的抽象方法&#xff0c…

条款22: 尽量用“传引用”而不用“传值”

c语言中,什么都是通过传值来实现的,c继承了这一传统并将它作为默认方式。除非明确指定,函数的形参总是通过“实参的拷贝”来初始化的,函数的调用者得到的也是函数返回值的拷贝。正如我在本书的导言中所指出的,“通过值…

C++ RCSP智能指针简单实现与应用

智能指针的实现代码来源博客:《http://blog.csdn.net/to_be_better/article/details/53570910》 修改:添加 get()函数,用以获得原始指针(raw pointer)。 其余思路来源《Effective C》 智能指针的实现代码如下&#xff…

末学者笔记--openstack共享组件:rabbitmq(3)

openstack共享组件:消息队列rabbitmq 一、MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信&#xf…

【matlab】2019.5.10第一节上机课练习

1、计算角度和弧度的方法 例 a 17,b 24,c 26 求一个角分别以角度和弧度的方式给出 解: %//用余弦定理求出余弦值 pos (a b c)/(2*a*b) %//用acos求出弧度值 angle acos(pos)%//求出角度值realangle angle*180/pi2、创建矩阵的方法 A…

【学习笔记】Silverlight框架:Jounce(4)——事件通信

Prism、CM和Jounce里都有各自的事件通信机制,也都叫EventAggregator。 相比于Prism,Jounce里的EventAggregator的风格更接近CM。当然作者也是这么说的:The pattern here is based on the lightweight version Rob Eisenburg introduced with …

10个最常用 Windows Vista运行命令

Windows Vista以其华丽的界面和全新的操作方式受到大众喜爱,但实际上,如果你善于使用“运行”命令,仍然可以大大简化操作,甚至是发现一些常规菜单里没有的功能的。 下面就给大家讲讲Windows Vista下面的一些工具命令,你…

非常好的博客网站

下面的内容是转载的, 原文: https://klionsec.github.io/archives/ http://www.leifc.com/ ------------------------------------------------------------------------------ 个人始终坚信,所有不以实际入侵和防御为目的的安全研究都是耍流氓 [ 目…

反向代理Nginx

引用:https://baijiahao.baidu.com/s?id1600687025749463237&wfrspider&forpc 参考下图,正向代理用途:Client无法直接访问Server,比如谷歌FQ,于是请求发送给代理,代理可以访问Server并将其返回信息…

asp.net mvc3 Razor引擎中@使用规则小记

项目中前台用的是asp.net mvc3,Razor引擎(关于Razor的介绍可以参考:http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx),深深体验到了Razor引擎的方便强大。但在编码过程中也遇到了一些问题&…

【matlab】第二章基本使用方法

(一)操作练习 1、整型数据类型的定义 代码实现 x int8(50)2、创建一个复数 代码实现: //情况1 complex(2); //输出结果: ans 1.0000 0.0000i//情况2 complex(1,2);//输出结果: ans 1.0000 2.0000i//情况3a compl…

一位美国前辈工程师的十大职业发展忠告

1、好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行…

Vagrant安装指南

ubuntu的易用性很高,安装很简单,颜值也高,但是我工作中经常使用centos,我希望我的笔记本也是centos,但是,centos颜值太低,配置文件很复杂,不想弄这个太麻烦,于是&#xf…

树状数组的理解(前缀和 and 差分)

二更—— 有神仙反映数星星那个题外链炸了,我决定把图给你们粘一下,汉语翻译的话在一本通提高篇的树状数组那一章里有,同时也修改了一些汉语语法的错误 这段时间学了线段树组,当神仙们都在学kmp和hash的时候,我这个蒟蒻…

【java】兴唐第十九节课(内部类)

内部类:在类的内部定义的类叫内部类 1、有名内部类: (1)实例化时必须先实例化外部对象,格式: 外部类.内部类 对象名 外部类对象名.new.内部类名(); 代码实现&#xff1…

持续集成之“自动化部署”

转自:http://www.infoq.com/cn/news/2011/07/ci-automatic-deployment 在前文《依赖管理》中,我们讨论了如何在代码变得庞大,组件增多的情况下,做好外部库和内部组件依赖管理,从而提高构建效率。可以应用的实践包括&am…

1008: [HNOI2008]越狱(计数问题)

1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 11361 Solved: 4914[Submit][Status][Discuss]Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间…

他山之石:Github的使用

一.awesome 关键字 搜索和关键字匹配的优秀项目 awesome springboot 搜索优秀的springboot相关的项目,包括框架、教程等 二.通过in关键词限制搜索范围 xxx in:name 项目名包含xxx的 xxx in:description 项目描述包含xxx的 xxx in:readme 项目的readme文件中包含x…

【java】兴唐第二十节课(Collection 和 ArrayList)

(一)Collection 1、如果实现 --able 名称的接口则证明该类或其子类有该功能 (1)实现Iterable接口代表具有迭代功能 (2)实现Cloneable接口代表具有克隆功能 (3)实现Serializable接口代表具有序列化的功能 …

服务器系统架构分析

我目前的nginx配置是拆散的,这样可以便于在很多个虚拟主机和目录里重用部分配置。 总体是划分为这样一个结构: conf/conf/nginx.confconf/proxy.confconf/rewrite.confconf/location.confconf/port.confconf/upstream.confconf/servers/conf/servers/www…

SharePoint SiteCollection 和SubWeb之间的迁移

因为各种不同的原因,项目里可能碰到需要将一个Site Collection迁移为一个子站点的情况。 实现这种需求只能用 内容部署功能中的导出和导入〉 SiteCollectoin to sub web 示例: cd C:\Program Files\Common Files\Microsoft Shared\web server extensions…

20154312曾林 - Exp1 PC平台逆向破解

1.逆向及Bof基础实践说明 1.1-实践目标 对象:pwn1(linux可执行文件)目标:使程序执行另一个代码片段:getshell内容: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。利…

web App libraries跟referenced libraries的一些问题

该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tiancai1202000/article/details/49178721) myeclipse,lib中的ja…

无法在数据库 'ycmis2' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。...

alter database ycmis2 set EMERGENCY alter database ycmis2 set online 转载于:https://www.cnblogs.com/qanholas/archive/2011/08/03/2126347.html

exchange2003备份与恢复

exchange2003备份与恢复owa 访问的是在线访问方式。连接到服务器里的访问邮箱,操作邮件是在服务器上.先发一邮件永久删除,直接从服务器里把此邮件删除掉。删除之后。服务器里已没有此邮件。下面就是来恢复邮件临时位置随便写一个存在的路径。恢复之后装载…

入门Promise的正确姿势

Promise是异步编程的一种解决方案,从语法上说,Promise是一个对象,从它可以获取异步操作的消息。 Promise的基本用法 Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve和reject。它们是两个函数,由J…

雪花算法 Java 版

雪花算法根据时间戳生成有序的 64 bit 的 Long 类型的唯一 ID 各 bit 含义: 1 bit: 符号位,0 是正数 1 是负数, ID 为正数,所以恒取 041 bit: 时间差,我们可以选择一个参考点,用它来计算与当前时间的时间差…

【matlab】第二次上机课

1、采用complex建立一个复数数组和直接创立一个复数数组,并计算它们的幅度。 代码实现: a complex(1,2);b 1 3i;length1 abs(a)lengthe abs(b)重点: 使用comlex创建复数 用abs求幅度(模长) 2、将A[0.8147, 0…

运行代码功能尝试

首先定义个文本域并且给个ID <textarea id"O_txt_1" rows"8" cols"80"> <!--要运行的代码--> </textarea> 然后定义个按钮 <input type"button" value"运行代码" οnclick"runCode(O_txt_1)&qu…