mysql数据表名称区分大小写
MySQL
数据库在Windows
平台上的表名和列名默认不区分大小写,而在Linux
上默认是区分大小写的。想在任何平台上都实现区分大小写的表名和列名,可以通过设置lower_case_table_names
系统变量来完成。
lower_case_table_names
系统变量的取值
这个变量的值可以是0、1或2
。
- 如果
lower_case_table_names
设置为0
,表名比较是区分大小写的。 - 如果
lower_case_table_names
设置为1
,表名存储在磁盘是小写的,但是比较是不区分大小写的。 - 如果
lower_case_table_names
设置为2
,表名比较是在比较的时候转换为小写然后进行比较的。
注意:
- 这个变量只能在
MySQL
服务器启动时设置,并且在运行中的服务器上不可更改。 - 设置这个变量需要超级用户权限。
- 设置这个变量之前应该考虑到可能对现有的数据库操作产生的影响。
- 在
Linux上
设置lower_case_table_names
为1
可以使表名在文件系统上为小写,同时在比较的时候不区分大小写。