平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李鬼的多起来,侦辨起来很困难。要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感)。如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整。不过,通常不建议这么做。如果跟我一样,数据库已经在线上跑了,一个表上百万条数据,做字段类型变更有可能导致数据库宕机。那么好吧,在查询时,多加个单词好了!例如,一般查询:
- SELECT * FROM U WHERE name LIKE "a%";
- SELECT * FROM U WHERE name LIKE "A%";
其结果是一样的,为了区分"A%"和"a%",可以这么做:
- SELECT * FROM U WHERE binary name LIKE "a%";
- SELECT * FROM U WHERE binary name LIKE "A%";
仅仅多了一个binary,就可以得到不同的结果!当然,如果需要建表时强制区分大小写,可以这么写:
- create table table_name(
- name varchar (20) binary
- );
就这么简单!PostgreSQL的window函数整理MySQL 运维笔记(一)—— 终止高负载SQL相关资讯 MySQL基础教程
- MySQL基础教程:关于varchar(N) (01月22日)
- MySQL SELECT同时UPDATE同一张表 (02/19/2013 07:20:18)
- Linux修改MySQL最大并发连接数 (02/15/2013 15:37:21)
| - 高性能MySQL(第3版) 中文PDF带目 (10/26/2014 10:03:50)
- 如何在MySQL中的获取IP地址的网段 (02/18/2013 12:23:33)
- C++和C#访问MySQL的简单代码示例 (12/21/2012 09:04:10)
|
本文评论 查看全部评论 (0)