mysql的大小写敏感性主要分为两部份:一个是表名区别大小写;二是字段值不区分大小写.这个跟我们希望的恰好相反,而这却是mysql 的默认设置,不得不令人费解,而这些却是oracle数据库比较基本的东西。

首先说说MYSQL建表的特点?如果你创建一张test表,然后你到data目录下会发现以下三个文件:

test.frm

test.MYD

test.MYI

即创建一个表,它会自动生成三个文件。这点跟oracle也有很大的不同,如果这样,那如何使用裸设备呢?看来要用mysql数据库,是不得不要用文件系统。而通常操作系统都对用户同时打开的文件数有限制,一般为1024个,使用mysql要注意.

那如何设置让mysql的表名不区分大小写呢?修改/etc/my.cnf文件,在[mysqld] 下增加参数lower_case_table_names = 1

这个参数的含义是使所有的表名都转化成小写来处理,如果你在原系统中已有大写的表名,要先把它们重命名为小写,以免加了此参数后,以前大写的表无法识别.

另外一个问题,就是默认的字段值不区分大小写?这点是比较令人头痛的事。如果你在一有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会。请看下面的测试:

mysql> create table test4(nick varchar(20) primary key);

Query OK, 0 rows affected (0.01 sec)

mysql> insert into test4 values('A');

Query OK, 1 row affected (0.00 sec)

mysql> insert into test4 values('a');

ERROR 1062: Duplicate entry 'a' for key 1

而如何设置让其列值区分大小写呢?

mysql> create table test4(nick varchar(20) binary primary key);

Query OK, 0 rows affected (0.01 sec)

mysql> insert into test4 values('A');

Query OK, 1 row affected (0.00 sec)

mysql> insert into test4 values('a');

Query OK, 1 row affected (0.00 sec)

在声明字符类型后,在后面加一个binary,mysql就可以区分大小写了。

分享到:

2008-11-16 21:28

浏览 615

评论

mysql session大小写_mysql的大小写敏感性相关推荐

  1. mysql 设置大小写_mysql修改大小写参数注意事项

    原由:数据库中原本参数lower_case_table_names的值为0,应开发要求需要修改为不区分大小写,即修改为1.但是修改完之后,发现本来建立的大写字母的表查不到. 修改过程 1,在参数文件中 ...

  2. mysql session变量_mysql 系统变量和session变量

    mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...

  3. mysql 忽略表大小写_mysql表名忽略大小写问题记录

    问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql> show tables; +-- ...

  4. MySQL 8 忽略表名大小写

    MySQL 8 忽略表名大小写 ​ 文章目录 MySQL 8 忽略表名大小写 一.修改步骤: 1.备份数据 2.停止MySQL服务 3.删除数据目录 4.修改 `my.cnf` 配置文件 5.重新初始 ...

  5. MySQL高级篇——字符集、大小写规范和sql_mode

    Mysql字符集 在mysql8.0之前,server默认字符集为latin1,utf8字符集指向的是utf8mb3.在mysql8.0开始,数据库的默认编码就改为utf8mb4. 1. 修改字符集 ...

  6. 使用Navicat迁移MySQL数据至Oracle时大小写原因报“表或视图不存在”问题处理

    使用Navicat提供的数据传输工具将JEECMSv9的MySQL的数据迁移至Oracle数据库,数据迁移成功表都存在,但是在程序启动时提示表或视图不存在. Caused by: java.sql.S ...

  7. mysql数据表名设置大小写不敏感(Linux Centos)

    mysql数据表名设置大小写不敏感(Linux Centos) 0.删除数据表(可选) drop table yourTableName; 1.编辑mysql配置文件 vi /etc/my.cnf 在 ...

  8. 小米 mysql sql审核_mysql和sql - 小米米儿小的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.MySQL的安装 使用命令终端打开服务启动项:services.msc 安装MySQL后,应注意以下配置: 1.选择第一项Reconfigure Instance进行重新配置. 2.选择第一项详细 ...

  9. mysql物理优化_mysql物理优化器代价模型分析【原创】

    1.引言 mysql的sql server在根据where condition检索数据的时候,一般会有多种数据检索的方法,其会根据各种数据检索方法代价的大小,选择代价最小的那个数据检索方法. 比如说这 ...

最新文章

  1. php的匿名函数和闭包函数
  2. LTE-TDD与LTE-FDD技术比较
  3. python php linux-linux怎么运行python?
  4. 凸透镜成像动画可拖动_经典四图八问!这道中考物理题,彻底解决凸透镜成像规律!...
  5. 如何才能在SQL查询器中使用语句查询出表的列名及数据类型(包括类型和长度)...
  6. JavaScript程序员必备的5个debug技巧
  7. 微软Build 2019大会.NET课程视频汇总
  8. Java生成随机数的4种方式,以后就用它了!
  9. c# DataTable DataBinding 应用笔记
  10. (23)npm项目发布
  11. Java 算法 瓷砖铺放
  12. HTML+CSS页面练习——legend第九部分
  13. Linux系统出现验证码乱码的原因及解决办法
  14. Spring 配置文件
  15. 周长相等的正方形面积一定相等_周长和面积一直是三年级孩子的易失分点,家长要把好关!...
  16. Nightwish全部专辑320kbs全集下载
  17. 51单片机系列封装库
  18. Android 界面设计 简约个人求职简历表格
  19. 【STL MAP】热血格斗场
  20. R 计算变量之间的相关性

热门文章

  1. SAP-采购订单交货成本抓取方法
  2. 用ABAP实现SM36的设置后台JOB
  3. SAP SM37后台作业结果显示为alv list怎么样可以显示alv grid形式呢?
  4. ABAP--Smart Forms多语言翻译
  5. SAP BASIS顾问认知的一些误区
  6. Chart of Accout-科目表
  7. 银行IT迎“高景气”时代,宇信科技如何领跑行业?
  8. JAVA中怎么设置文本域位置_java – 如何在JTextArea中更改文本的位置
  9. 软件测试黑马程序员课后答案_软件测试课后习题答案
  10. SQL语言学习(六)分组函数学习