MySql数据库设置表名大小写不敏感

MySql数据库在Linux系统下默认数据库名与表名严格区分大小写,一般情况下我们创建表名习惯使用全小写,如果遇到某些从Windows服务器迁移过来的数据库可能需要设置大小写不敏感

所属分类 数据库

相关标签 配置MySql变量

MySql默认规则

Windows下所有内容大小写不敏感。

Linux下默认大小写规则如下:

  • 数据库名与表名严格区分大小写
  • 表别名严格区分大小写
  • 列名和列别名在所有情况下都是忽略大小写的
  • 变量名也是严格区分大小写的

相关变量

lower_case_file_system:数据目录所在的文件系统对文件名的大小写敏感

  • ON:大小写不敏感
  • OFF:敏感

lower_case_table_names:表名与数据库名大小写敏感

  • 0:创建时按大小写字母保存表名和数据库名,比较时对大小写敏感(在大小写本身不敏感的系统中不能将其设置为0,可能导致索引被破坏)
  • 1:创建时按小写字母保存,比较时对大小写不敏感
  • 2:创建时按大小写字母保存表名和数据库名,比较时会转为小写查询(只在对大小写不敏感的文件系统上适用)

/static/upload/post/1645666136169.png

Linux修改大小写不敏感

vi /etc/my.cnf
# 添加或修改
lower_case_table_names=1
# 重启MySql
# 使用 service 启动
service mysqld restart
# 使用 mysqld 脚本启动
/etc/inint.d/mysqld restart

其他说明

一般来说在建库配置之初就应当确认好是否需要大小写敏感。

为了避免大小写引发的问题,一种推荐的命名规则是:

在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母

因为lower_case_table_names并不是个动态参数,修改需要重启数据库

同时对于库中已有的大些字母表名或库名需要导出重新导入

简而言之,这是个麻烦事儿

米虫

做一个有理想的米虫,伪全栈程序猿,乐观主义者,坚信一切都是最好的安排!

本站由个人原创、收集或整理,如涉及侵权请联系删除

本站内容支持转发,希望贵方携带转载信息和原文链接

本站具有时效性,不提供有效、可用和准确等相关保证

本站不提供免费技术支持,暂不推荐您使用案例商业化

发表观点

提示

昵称

邮箱

QQ

网址

当前还没有观点发布,欢迎您留下足迹!

同类其他

数据库

Oracle存储过程Procedure基础语法

存储过程是个好东西,WEB工程在架构阶段会设计很多存储过程,后续在架构中开发需求的时候,反而会直接写SQL完成各项诉求。所以说,这玩意儿略微有那么一点点伪高端。

SPOOL导出指定格式的Oracle数据文件

为了方便数据的处理,或者本身有特殊的数据格式要求,我们可以使用SPOOL命令导出Oracle数据库数据数据文件,并指定格式,高效且强大...

Orcale定时任务管理dbms_job

在Oracle中创建、运行、维护定时任务,配合存储过程可以完成很多特定的业务诉求,dbms_job提供了使用的API功能便于我们实现更为细致的定时任务管理

Oracle数据库基础实用维护命令集

Linux系统下的Oracle数据库实用常用的维护命令整理,本文内容偏向运维,主要包含:基础启动重启、表空间维护、数据库角色与用户维护、字符集配置等,并给出各类场景的实例语句

MongoDB通过$lookup实现多表连接查询

对于数据库而言,多表连接操作可以算的上是基本操作,在 MongoDB 通过 $lookup 聚合查询可以实现多表左连接查询,在后续的版本中 $lookup 得到了一系列的增强,实现更为复杂的关联查询

MySql安装错误提示找不到MSVCP120.dll

安装 MySql 出现“由于找不到 MSVCP120.dll ,无法继续执行代码。重新安装程序可能会解决此问题。”由于系统缺少 vcredist 导致,下载安装官方 vcredist 即可。

选择个人头像

昵称

邮箱

QQ

网址

评论提示

  • 头像:系统为您提供了12个头像自由选择,初次打开随机为你选择一个
  • 邮箱:可选提交邮箱,该信息不会外泄,或将上线管理员回复邮件通知
  • 网址:可选提交网址,评论区该地址将以外链的形式展示在您的昵称上
  • 记忆:浏览器将记忆您已选择或填写过得信息,下次评论无需重复输入
  • 审核:提供一个和谐友善的评论环境,本站所有评论需要经过人工审核