linux下设置mysql不区分大小写
背景
今天准备上线的环境,往服务器上布服务,某个功能查询报错,觉得很奇怪,环境一样,代码一样,数据一样,为何呢,看了一眼sql。本地运行正常,上线环境报错,报错信息缺少某列。仔细一看,where 条件的列别名是大写的,表别名是小写。大概就是这个意思 select aaa from b where B.aaa = ‘1‘ 。心想,mysql不是不区分大小写吗。难道上线环境是区分的,一查还真是。。于是修改了一下,在此提供给大家修改方式。
解决方案
查看mysql是否开启了区分大小写。
show variables like '%case_table%';
lower_case_table_names=1(说明是不区分大小写的)
lower_case_table_names=0(如上图为0说明区分大小写的)
linux下修改
进入etc下面
cd /etc/
编辑my.cnf文件
vi my.cnf
最后一行加上下面一句
lower_case_table_names=1
重启mysql:
service mysql restart
windows下修改
到安装mysql的目录,修改my.ini文件
在文件最后一行加上下面一句话
lower_case_table_names=1
重启mysql。
相关推荐
Gexrior 2020-10-22
CoderToy 2020-11-16
emmm00 2020-11-17
王艺强 2020-11-17
ribavnu 2020-11-16
bianruifeng 2020-11-16
wangshuangbao 2020-11-13
苏康申 2020-11-13
vivenwan 2020-11-13
moyekongling 2020-11-13
云中舞步 2020-11-12
要啥自行车一把梭 2020-11-12
aydh 2020-11-12
kuwoyinlehe 2020-11-12
minerk 2020-11-12
vitasfly 2020-11-12
jazywoo在路上 2020-11-11
敏敏张 2020-11-11