设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
数据库开发
›
MySQL
›
MySQL 查询时强制区分大小写
返回列表
查看:
192
|
回复:
0
MySQL 查询时强制区分大小写
[复制链接]
snowolf
snowolf
当前离线
积分
256
窥视卡
雷达卡
升级
18.67%
当前用户组为
举人
当前积分为
256
, 升到下一级还需要 244 点。
72
主题
72
主题
72
主题
举人
举人, 积分 256, 距离下一级还需 244 积分
举人, 积分 256, 距离下一级还需 244 积分
积分
256
发消息
楼主
|
发表于 2013-1-29 16:20:11
|
显示全部楼层
|
阅读模式
平时很少会考虑数据存储需要明确字符串类型字段的大小写,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 ); 就这么简单!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2008-2020
六狼论坛
(http://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表