为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL中的表名是否区分大小写?

MySQL中的表名是否区分大小写?

天涯尽头无女友 2019-07-05 14:51:59
MySQL中的表名是否区分大小写?MySQL中的表名是否区分大小写?在我的Windowsdev机器上,我所拥有的代码能够查询我的表,这些表看起来都是小写的。当我在数据中心部署到测试服务器时,表名似乎以大写字母开头。我们使用的服务器都在Ubuntu上。
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

一般而言:

数据库和表名在Windows中不区分大小写,在大多数Unix变体中区分大小写。

在MySQL中,数据库对应于数据目录中的目录。数据库中的每个表对应于数据库目录中的至少一个文件。因此,底层操作系统的大小写敏感性在数据库和表名的大小写敏感性中起着重要作用。

可以使用系统变量配置表名存储在磁盘上的方式。lower_case_table_names..(在我的.cnf[mysqld]项下的配置)

阅读本节:10.2.2标识大小写敏感性想了解更多信息。


查看完整回答
反对 回复 2019-07-05
?
SMILET

TA贡献1796条经验 获得超4个赞

数据库和表名在Windows中不区分大小写,在大多数Unix或Linux变体中区分大小写。

若要解决此问题,请将lowcase_table_name设置为1

小写表名称=1

这将使您的所有表都变得小写,无论您如何编写它们。


查看完整回答
反对 回复 2019-07-05
?
慕标5832272

TA贡献1966条经验 获得超4个赞

这取决于lower_case_table_names系统变量:

show variables where Variable_name='lower_case_table_names'

这有三个可能的值:

  • 0

    -

    CREATE TABLE

    CREATE DATABASE

    声明。名称比较区分大小写。
  • 1

    -表名以小写形式存储在磁盘上,名称比较不区分大小写。
  • 2

    -

    CREATE TABLE

    CREATE DATABASE

    语句,但是MySQL在查找时将它们转换为小写。名称比较不区分大小写。

文献资料


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 730 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信