mysql session大小写_mysql的大小写敏感性
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的大小写敏感性相关推荐
- mysql 设置大小写_mysql修改大小写参数注意事项
原由:数据库中原本参数lower_case_table_names的值为0,应开发要求需要修改为不区分大小写,即修改为1.但是修改完之后,发现本来建立的大写字母的表查不到. 修改过程 1,在参数文件中 ...
- mysql session变量_mysql 系统变量和session变量
mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...
- mysql 忽略表大小写_mysql表名忽略大小写问题记录
问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql> show tables; +-- ...
- MySQL 8 忽略表名大小写
MySQL 8 忽略表名大小写 文章目录 MySQL 8 忽略表名大小写 一.修改步骤: 1.备份数据 2.停止MySQL服务 3.删除数据目录 4.修改 `my.cnf` 配置文件 5.重新初始 ...
- MySQL高级篇——字符集、大小写规范和sql_mode
Mysql字符集 在mysql8.0之前,server默认字符集为latin1,utf8字符集指向的是utf8mb3.在mysql8.0开始,数据库的默认编码就改为utf8mb4. 1. 修改字符集 ...
- 使用Navicat迁移MySQL数据至Oracle时大小写原因报“表或视图不存在”问题处理
使用Navicat提供的数据传输工具将JEECMSv9的MySQL的数据迁移至Oracle数据库,数据迁移成功表都存在,但是在程序启动时提示表或视图不存在. Caused by: java.sql.S ...
- mysql数据表名设置大小写不敏感(Linux Centos)
mysql数据表名设置大小写不敏感(Linux Centos) 0.删除数据表(可选) drop table yourTableName; 1.编辑mysql配置文件 vi /etc/my.cnf 在 ...
- 小米 mysql sql审核_mysql和sql - 小米米儿小的个人空间 - OSCHINA - 中文开源技术交流社区...
一.MySQL的安装 使用命令终端打开服务启动项:services.msc 安装MySQL后,应注意以下配置: 1.选择第一项Reconfigure Instance进行重新配置. 2.选择第一项详细 ...
- mysql物理优化_mysql物理优化器代价模型分析【原创】
1.引言 mysql的sql server在根据where condition检索数据的时候,一般会有多种数据检索的方法,其会根据各种数据检索方法代价的大小,选择代价最小的那个数据检索方法. 比如说这 ...
最新文章
- php的匿名函数和闭包函数
- LTE-TDD与LTE-FDD技术比较
- python php linux-linux怎么运行python?
- 凸透镜成像动画可拖动_经典四图八问!这道中考物理题,彻底解决凸透镜成像规律!...
- 如何才能在SQL查询器中使用语句查询出表的列名及数据类型(包括类型和长度)...
- JavaScript程序员必备的5个debug技巧
- 微软Build 2019大会.NET课程视频汇总
- Java生成随机数的4种方式,以后就用它了!
- c# DataTable DataBinding 应用笔记
- (23)npm项目发布
- Java 算法 瓷砖铺放
- HTML+CSS页面练习——legend第九部分
- Linux系统出现验证码乱码的原因及解决办法
- Spring 配置文件
- 周长相等的正方形面积一定相等_周长和面积一直是三年级孩子的易失分点,家长要把好关!...
- Nightwish全部专辑320kbs全集下载
- 51单片机系列封装库
- Android 界面设计 简约个人求职简历表格
- 【STL MAP】热血格斗场
- R 计算变量之间的相关性