MySQL数据表中内容大小写区分的设置
2016-12-20 14:51
232 查看
MySQL数据表中内容大小写区分的设置
今日hadoop部门,有新的需要根据内容大小写过滤数据。
需求如下:
select * from mnb;
+----+------+
| id | name |
+----+------+
| 1 | mnb |
| 2 | MNB |
+----+------+
2 rows in set (0.00 sec)
select * from mnb where name='MNB';
+----+------+
| id | name |
+----+------+
| 2 | MNB |
+----+------+
1 row in set (0.00 sec)
解决方案:
1、修改sql语句
select * from mnb where name= binary 'MNB';
+----+------+
| id | name |
+----+------+
| 2 | MNB |
+----+------+
1 row in set (0.00 sec)
2、修改表字符集校验
CREATE TABLE `mnb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) COLLATE latin1_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
3、修改my.cnf
collation_server = utf8_bin
注意:只对修改参数并重启实例后新建的表有效果,老表还需修改表的字符集校验
今日hadoop部门,有新的需要根据内容大小写过滤数据。
需求如下:
select * from mnb;
+----+------+
| id | name |
+----+------+
| 1 | mnb |
| 2 | MNB |
+----+------+
2 rows in set (0.00 sec)
select * from mnb where name='MNB';
+----+------+
| id | name |
+----+------+
| 2 | MNB |
+----+------+
1 row in set (0.00 sec)
解决方案:
1、修改sql语句
select * from mnb where name= binary 'MNB';
+----+------+
| id | name |
+----+------+
| 2 | MNB |
+----+------+
1 row in set (0.00 sec)
2、修改表字符集校验
CREATE TABLE `mnb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) COLLATE latin1_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
3、修改my.cnf
collation_server = utf8_bin
注意:只对修改参数并重启实例后新建的表有效果,老表还需修改表的字符集校验
相关文章推荐
- MySQL数据表中内容大小写区分的设置
- MySQL数据表中内容大小写区分的设置
- MySQL数据表中内容大小写区分的设置
- MySQL数据表中内容大小写区分的设置
- MySQL数据表中内容大小写区分的设置
- mysql 对字段内容区分大小写的设置
- 设置Linux下Mysql表名不区分大小写
- Windows下MySql设置表区分大小写(统一window与linux的区分表大小写)
- MySQL表名不区分大小写的设置方法
- MySQL 在Linux下设置MySQL区分大小写
- Linux下 设置Mysql表名不区分大小写
- SQL Server 设置数据区分大小写
- mysql区分大小写列设置
- linux下设置mysql不区分大小写
- LINUX下mysql的大小写区分设置
- 如何设置mysql的表不区分你大小写
- 让Mysql 表名、数据名 在 Windows 下面区分大小写
- 设置Linux下Mysql表名不区分大小写
- MySQL表名不区分大小写的设置方法
- 如何设置mysql的表不区分你大小写