table ‘***‘ not found

博主在将SpringBoot项目从Win10迁移到Linux服务器时遇到MySQL找不到表的问题,原因是Linux MySQL默认区分表名大小写。通过修改/etc/my.cnf文件,将`lower_case_table_names`设置为1并重启MySQL服务,可以使得数据库不区分表名大小写。文章强调了编程中遵循大小写规范的重要性,并提供了MySQL大小写敏感问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

table ‘***’ not found

昨天感觉自己要死的心都有了,我部署一个springboot项目在Win10电脑上运行项目没有一点问题,然后部署到云服务器LINUX下运行老说找不到表,但是数据库里明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢?

后来我去查看报错的数据库SQL语句发现表名是大写,而数据库里的表名称是小写,LINUX下的MYSQL默认是要区分表名大小写的,气死我了,(这是哪个程序猿写的SQL,拉出去枪毙十分钟,从小老师就教导我们无论什么时候,无论在什么地方都要严格区分大小写,因为这不仅仅是为了遵守语言的规定,更是对自己的一种规范,让自己少走弯路)这下好了,别说弯路了,直接他喵的翻沟里去了。

让MYSQL不区分表名大小写的方法其实很简单:

1.用ROOT登录,修改/etc/my.cnf

2.在[mysqld]下加入一行:lower_case_table_names=1

3.重新启动数据库即可。

1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
2、用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names=0
其中0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值