数据库表名有大小写区分怎么办

数据库表名有大小写区分怎么办,第1张

大多数情况下,数据库对象名是不区分大小写的。

什么数据库的表名是大小写区分的?

我所知道的特例是Oracle,正常情况下,无论你输入的表名是大写、还是小写,那么都以大写存储的;使用的时候,大小写都可以。

而用双引号引起来的表名,如果是小写的话,那么使用的时候,必须用双引号引起来的小写才行。

1、mysql默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分。

2、mysql对于类型为varchar数据默认不区分大小写,但如果该字段以“*_bin”编码的话会使mysql对其区分大小写。

3、mysql对于字段名的策略与varchar类型数据相同。即:默认不区分大小写,但如果该字段是以“*_bin”编码的话会使mysql对其区分大小写。

4、mysql对于表名的策略与varchar类型数据相同。即:默认不区分大小写,但如果该表是以“*_bin”编码的话会使mysql对其区分大小写。

5、如果按照第一项查看lower_case_table_names的值为0,但需要让mysql默认不区分大小写的话,需要在mysql配置文件中添加参数并重启mysql数据库。mysql配置文件的修改内容如下:

[mysqld]

...

lower_case_table_names = 1

6、注意:表和字段的编码尽量继承数据库的编码(不明显指定即继承),以免引起混乱。

LINUX下的MYSQL默认是要区分表名大小写的 ,而在windows下表名不区分大小写

让MYSQL不区分表名大小写的方法其实很简单:

1.用ROOT登录,修改/etc/my.cnf

2.在[mysqld]下加入一行:lower_case_table_names=1

3.重新启动数据库即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10651214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存