Mysql设置大小写问题:大小写造成服务器查找数据查不到、mariadb导sql文件出错
【强制】表名、字段名必须使用小写字母或数字 , 禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。
说明: MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。因此,数据库名、 表名、字段名,都不允许出现任何大写字母,避免节外生枝。
正例: aliyun _ admin , rdc _ config , level 3_ name
反例: AliyunAdmin , rdcConfig , level 3 name
查看是否区分大小写:
show variables like 'lower%'
linux下:
lower_case_table_names参数详解: lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
修改不区分大小写,在my.cnf中的[mysqld]后面添加lower_case_table_names=1,重启MYSQL服务
win10:
maiadb:
my.ini
找到[mysqld]这个模块,在下面加入配置
lower_case_table_names = 1
sql_mode=
这里的1表示表名不区分大小写,sql_mode为数据库的校验模式,这里不设置值即为没有校验规则,sql_mode还有其它几种模式,具体自行百度