mysql表名忽略大小写配置方法详解
作者:jingxian 时间:2024-01-24 11:49:19
linux下mysql默认是要区分表名大小写的。mysql是否区分大小写设置是由参数lower_case_table_names决定的,其中:
1)lower_case_table_names = 0
区分大小写(即对大小写不敏感),默认是这种设置。这样设置后,在mysql里创建的表名带不带大写字母都没有影响,都可以正常读出和被引用。
2)lower_case_table_names = 1
不区分大小写(即对大小写敏感)。这样设置后,表名在硬盘上以小写保存,MySQL将所有表名转换为小写存储和查找表上。该行为也适合数据库名和表的别名。
也就是说,mysql设置为不分区大小写后,创建库或表时,不管创建时使用大写字母,创建成功后,都是强制以小写保存!
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1)数据库名与表名是严格区分大小写的;
2)表的别名是严格区分大小写的;
3)列名与列的别名在所有的情况下均是忽略大小写的;
4)变量名也是严格区分大小写的;
5)MySQL在Windows下都不区分大小写,但是在Linux下默认是区分大小写的。
6)如果想在查询时区分字段值的大小写,则字段值需要设置BINARY属性,设置的方法有多种:
a)创建时设置:
CREATE TABLE T(A VARCHAR(10) BINARY);
b)使用alter修改
所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计表的时候都转为小写!!
修改mysql为不区分大小写设置:
mysqladmin -uroot -p shutdown //以安全模式关闭数据库
修改 my.cnf //添加下面一行设置
.....
[mysqld]
lower_case_table_names=1
.....
启动mysql
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python每5分钟从kafka中提取数据的例子
浅谈Go中数字转换字符串的正确姿势
MySQL基础教程第一篇 mysql5.7.18安装和连接教程
![](https://img.aspxhome.com/file/2023/5/112325_0s.jpg)
Mootools 1.2教程(10)——Fx.Tween的使用
JS预览图像将本地图片显示到浏览器上
CSS Sprites对CSS布局的意义、优点和缺点介绍
SQL Server比较常见数据类型详解
python的重要技能输入与输出字符串格式化使用详解
python中的协程深入理解
![](https://img.aspxhome.com/file/2023/4/111904_0s.png)
用Vue编写抽象组件的方法
PHP的PDO预定义常量讲解
Go语言interface详解
VC基于ADO技术访问数据库的方法
MySQL中出现乱码问题的终极解决宝典
![](https://img.aspxhome.com/file/2023/4/100344_0s.png)
python标准库OS模块详解
![](https://img.aspxhome.com/file/2023/2/134612_0s.png)
Python3.6笔记之将程序运行结果输出到文件的方法
![](https://img.aspxhome.com/file/2023/9/61739_0s.jpg)