mysql数据库设置表名大小写不区分_设置mysql数据库表名不区分大小写

最近因为一个新的业务模块,因此使用到到msyql数据库。

我对接的技术开发中心的同事因为对表名、字段名大小写使用特别不规范,查询的时候 一个表名很经常大写-小写-大写,因此让我将数据库设置为对表名不区分大小写。

mysql数据库的表的字段名是不区分大小写的,

设置表名不区分,可以在 数据库的配置文件中添加一行:

lower_case_table_names=1

1:是表示不区分大小写;

0:表示表名区分大小写;

修改配置后需要重启数据库,设置才能生效。

要是设置正常满足需求,修改设置之前得确保数据库里的表名都已经是小写的了。否则,数据库重启后,之前那些大写的表无法使用了。

同时,跟数据库名字的大小写也有关系。

测试:

首先在区分大小写环境下,建立两个数据库,"iris"  和 "IRIS"。同名的,一个大写,一个小写。

分别创建几张表,有大写表名,有小写的。

数据库修改为 “不区分大小写”,设置生效之后,进入数据库查看库,依旧显示 "iris" 和 "IRIS"。但是,"IRIS"已经只能看不能用了,use IRIS ,命令也报错。当然,此库下面的表也一样,看都看不到了。

如果使用的是连接工具,诸如sqlyog等图形化界面的话。

这个时候,切换数据库: use iris,并且向 iris这个库中新建表,表名 ABC 。

再将 数据库设置为“区分大小写”。show databases: 依旧显示,"iris" 和 "IRIS"。并且,查看"IRIS"中所有的表的时候:

show tables:

看到的表也有 ABC;

向表iris.ABC 插入数据,在IRIS库的表下也能看到新增的数据。

其实这个时候,对数据库来说,IRIS和iris就是同一个了。

但是,查看数据库文件,可以发现 数据库目录 名为IRIS 目录下没有 表ABC.frm 等文件。所以,设置如果再切过来,将看不到 后来新建的表的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值