当前位置:   article > 正文

mysql配置忽略表名大小写_mysql8.0 忽略表名大小写

mysql8.0 忽略表名大小写

在windows安装mysql倒是没有碰到过这种问题,在linux的有些系统中安装了mysql之后,默认的mysql配置是区分表名大小写的,这句话怎么讲呢?比如说吧,我现在有个表名是a,不管是在客户端还是在程序中操作数据库的时候,如果我写成:

select * from a limit 0,1

是没有问题的,但是如果我写成

select * from A limit 0,1

就会报 "a doesn't exist"就是表不存在的错误,这就令人很费解,如果你不知道的话,也很难想到还有表名会区分大小写这种配置,没错,明明我又表a,为什么会报出表不存在的错误呢?就是因为在linux的有些系统中安装了mysql之后,mysql默认是区分表名的大小写的。

问题:这种配置让我感到很不舒服,该修改这种配置呢?

1.先查看当前的配置

-- 进入mysql交互模式
mysql -uroot -p
-- 查看现有的配置
show variables like "%case%";

结果如下:

image.png

可以看到有两条,“lower_case_table_names”就是控制mysql是否区分表名大小写的配置项,1代表不区分,0代表区分大小写。

2.如何修改mysql区分表名大小写这种配置呢?

        如果你看到的结果为0,而你又想修改的话,你可以这样:

找到你mysql的配置文件my.ini(linux下是my.cnf),打开后找到“[mysqld]”节点,在下面加上一句话:

lower_case_table_names=1

即可,重启mysql,就不用担心表名的大小写问题了。

延伸:

        可能有的同学会有疑问,既然表名区分大小写,字段是不是也区分呢,我该到哪里去配置让字段不区分大小写来着,好消息告诉你,字段你不用多虑,mysql里都是不区分字段的大小写的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/494987
推荐阅读
相关标签
  

闽ICP备14008679号