扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个和hibernate无关,MYSQL的问题1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;2、用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名
目前成都创新互联已为上千家的企业提供了网站建设、域名、网站空间、网站托管运营、企业网站设计、路南网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Windows 环境下大小写不敏感
CREATE TABLE tab (
id INT AUTO_INCREMENT,
val VARCHAR(10),
PRIMARY KEY (id)
);
mysql select * from tab;
Empty set (0.00 sec)
mysql select * from Tab;
Empty set (0.00 sec)
mysql select * from `Tab`;
Empty set (0.00 sec)
在MySQL中如何在硬盘上保存和使用表名和数据库名由lower_case_tables_name系统变量确定,可以在启动mysqld时设置。lower_case_tables_name可以采用下面的任一值:
值 含义
0 使用CREATE TABLE或CREATE DATABASE语句指定的大写和小写在硬盘上保存表名和数据库名。名称比较对大小写敏感。在Unix系统中的默认设置即如此。请注意如果在大小写不敏感的文件系统上用--lower-case-table-names=0强制设为0,并且使用不同的大小写访问MyISAM表名,会导致索引破坏。
1 表名在硬盘上以小写保存,名称比较对大小写敏感。MySQL将所有表名转换为小写以便存储和查找。该行为也适合数据库名和表的别名。该值为Windows和Mac OS X系统中的默认值。
2 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写进行保存,但MySQL将它们转换为小写以便查找。名称比较对大小写敏感。注释:只在对大小写不敏感的文件系统上适用! InnoDB表名以小写保存,例如lower_case_tables_name=1。
在Windows和Mac OS X中,lower_case_tables_name的 默认值是1。
如果只在一个平台上使用MySQL,通常不需要更改lower_case_tables_name变量。然而,如果你想要在对大小写敏感不同的文件系统的平台之间转移表,会遇到困难。例如,在Unix中,my_tables和MY_tables是两个不同的表,但在Windows中,这两个表名相同。要想避免由于数据库或表名的大小写造成的数据转移问题,可使用两个选项:
• 在任何系统中可以使用lower_case_tables_name=1。使用该选项的不利之处是当使用SHOW TABLES或SHOW DATABASES时,看不出名字原来是用大写还是小写。
• 在Unix中使用lower_case_tables_name=0,在Windows中使用lower_case_tables_name=2。这样了可以保留数据库名和表名的大小写。不利之处是必须确保在Windows中查询总是用正确大小写引用数据库名和表名。如果将查询转移到Unix中,由于在Unix中大小写很重要,如果大小写不正确,它们不工作。
例外:如果你正使用InnoDB表,在任何平台上均应将lower_case_tables_name设置为1,以强制将名转换为小写。
请注意在Unix中将lower_case_tables_name设置为1之前,重启mysqld之前,必须先将旧的数据库名和表名转换为小写。
用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;\x0d\x0alower_case_table_names参数详解:\x0d\x0alower_case_table_names = 0\x0d\x0a其中0:区分大小写,1:不区分大小写\x0d\x0aMySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:\x0d\x0a1、数据库名与表名是严格区分大小写的;\x0d\x0a2、表的别名是严格区分大小写的;\x0d\x0a3、列名与列的别名在所有的情况下均是忽略大小写的;\x0d\x0a4、变量名也是严格区分大小写的;\x0d\x0aMySQL在Windows下都不区分大小写。\x0d\x0a3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:\x0d\x0aA、创建时设置:\x0d\x0aCREATE TABLE T(\x0d\x0aA VARCHAR(10) BINARY);B、使用alter修改
mysql对于类型为varchar数据默认不区分大小写,但如果该字段以“*_bin”编码的话会使mysql对其区分大小写。
1、首先打开MYSQL应用程序,进入到操作首页中。
2、然后点击输入代码“show variables like "%char%";”。
3、然后找到mysql的配置文件my.ini。
4、然后输入代码“show variables like 'lower_case_table_names';”。
5、就可以看到已经开启了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流