ben*_*rre 152 mysql mysql5 case-sensitive
MySQL中的表名是否区分大小写?
在我的Windows开发机器上,我的代码能够查询看起来全部小写的表格.当我部署到数据中心的测试服务器时,表名似乎以大写字母开头.
我们使用的服务器都在Ubuntu上.
Clo*_*ble 172
一般来说:
数据库和表名在Windows中不区分大小写,在大多数Unix中区分大小写.
在MySQL中,数据库对应于数据目录中的目录.数据库中的每个表对应于数据库目录中的至少一个文件.因此,底层操作系统的区分大小写在数据库和表名称的区分大小写中起作用.
可以使用系统变量配置表名称如何存储在磁盘上 lower_case_table_names.(在[mysqld]下的my.cnf配置中)
阅读部分:10.2.2标识符区分大小写敏感度以获取更多信息.
小智 93
数据库和表名在Windows中不区分大小写,在大多数Unix或Linux中区分大小写.
要解决此问题,请将lower_case_table_names设置为1
的lower_case_table_names = 1
无论你如何编写它们,这都会使你的所有表都小写
Ram*_*asi 12
这取决于lower_case_table_names系统变量:
show variables where Variable_name='lower_case_table_names'
Run Code Online (Sandbox Code Playgroud)
这有三个可能的值:
0- CREATE TABLE或CREATE DATABASE声明中指定的字母.名称比较区分大小写.1 - 表名以小写形式存储在磁盘上,名称比较不区分大小写. 2- CREATE TABLE或CREATE DATABASE语句中指定的lettercase ,但MySQL在查找时将它们转换为小写.名称比较不区分大小写.在以下位置找到文件 /etc/mysql/my.cnf
通过添加以下行来编辑文件:
[mysqld]
lower_case_table_names=1
sudo /etc/init.d/mysql restart
运行mysqladmin -u root -p variables | grep table检查lower_case_table_names是1现在
您可能需要重新创建这些表才能使其正常工作