美文网首页
centos下mysql表名大小写的问题

centos下mysql表名大小写的问题

作者: sean_liu_01 | 来源:发表于2018-11-16 16:17 被阅读0次

Mysql 表名大小写问题

今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到,

而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小

写的,可以在配置文件中添加配置,

用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写(操作时,应当先删除原有的数据库,设置之后,重启mysql服务,然后重新创建数据库,否则会报错

ERROR 1010 (HY000): Error dropping database

其中 0:区分大小写,1:不区分大小写

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

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

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

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

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

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修改

相关文章

  • centos下mysql表名大小写的问题

    Mysql 表名大小写问题 今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的...

  • MYSQL基础

    MYSQL语法 mysql大小写问题:1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列...

  • 大小写敏感说明

    MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 数据库名与表名是严格区分大小写的; 表的别...

  • linux 中去除mysql 大小写敏感

    MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 数据库名与表名是严格区分大小写的; 表的别...

  • MySQL大小写敏感问题

    总结 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:1、数据库名与表名是严格区分大小写的;...

  • mysql数据库的字母大小写问题

    MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2...

  • Mysql----区分大小写问题

    MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1)数据库名与表名是严格区分大小写的; 2...

  • linux下mysql设置大小写不敏感

    MySQL在window系统下不会存在这个问题。 1、linux下mysql安装完后是默认:区分表名的大小写,不区...

  • Ubuntu 20.04 设置数据库和表名不区分大小写

    MySQL 设置数据库和表名不区分大小写 重启 mysql

  • linux下mysql的大小写是否区分设置

    一、Linux中MySQL大小写详情: 1、数据库名严格区分大小写 2、表名严格区分大小写的 3、表的别名严格区分...

网友评论

      本文标题:centos下mysql表名大小写的问题

      本文链接:https://www.haomeiwen.com/subject/ppbmfqtx.html