找回密码
 注册

MySQL lower_case_table_names 数据库名和数据表名区分大小写

php 发表于 2015/11/20 13:39 | 显示全部楼层 |阅读模式
MySQL配置lower_case_table_names实现数据库名和数据表名区分大小写。

对于文件系统不区分大小写的操作系统,比如Windows和OS X,MySQL会默认以小写的形式存储数据库名和数据表名,即使在创建数据库或数据表时使用的名称是大写的,数据存储以后仍然是小写形式,而对于文件系统区分大小写的操作系统,比如Linux,MySQL区分大小写是默认设置,通过配置lower_case_table_names可以改变这一属性。

对于文件系统不区分大小写的操作系统,lower_case_table_names=0时将导致MySQL无法启动,可以设置lower_case_table_names=2 实现类似功能。
MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

lower_case_table_names的值可以为0, 1, 2.
当设置为0时,区分大小写,数据库和数据表以创建时给定的形式存,使用时区分大小写。
当设置为1时,不区分大小写,数据库和数据表以小写形式存储和显示,使用时不区分大小写。
当设置为2时,不区分大小写,数据库和数据表名以小写形式存储,使用时不区分大小写。

lower_case_table_names 应该配置到 my.ini 或 my.cnf 的 [mysqld] 区段

举例说明:当 lower_case_table_names=2 时,创建一个名字为大写字母的数据表,
  1. create table WXC( id int);
复制代码
使用小写形式也可以查询
  1. show tables like '%xc%';
复制代码
这样的情况下,对于 SHOW CREATE DATABASE 或 SHOW CREATE TABLE 语句,返回的SQL中数据库名或者数据库表名和查询时给定的名称保持一致。

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表