BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写
如下:
mysql> select binary 'ABCD'='abcd' COM1, 'ABCD'='abcd' COM2;
+--------+-----------+
| COM1 | COM2 |
+--------+-----------+
|      0     |      1      |
+---------+-----------+
1 row in set (0.00 sec)

____________________________________________________________
(仅仅有些而已!4.*以前)

因为有的MySQL特别是4.*以前的对于中文检索会有不准确的问题,可以在检索的时候加上binary。

建表:

create TABLE usertest (
id int(9) unsigned NOT NULL auto_increment,
username varchar(30) NOT NULL default '',
primary key (id)
)
插入数据:

insert into usertest (username) VALUES('美文');
insert into usertest (username) VALUES('美国项目');
insert into usertest (username) VALUES('李文');
insert into usertest (username) VALUES('老唐');
insert into usertest (username) VALUES('梦漂');
insert into usertest (username) VALUES('龙武');
insert into usertest (username) VALUES('夏');

例如:select * from usertest where username like '%夏%' ,结果七条记录都出来了,比较郁闷。

如果使用=而不是like的时候,select * from usertest where username = '夏' ,只出现一个结果。因为mysql 的LIKE操作是按照ASCII 操作的,所以LIKE的时候是可能有问题的。问题继续:如果再加上:

insert into usertest (username) VALUES('文');

insert into usertest (username) VALUES('唐');

还是使用select * from usertest where username = '夏' ,结果还是出现3条记录,又郁闷了。解决办法如下:

1.在create的时候就使用binary,而不是在query的时候加。

username varchar(30) BINARY NOT NULL default '', 如果表已经建好了,使用:

alter table usertest modify username varchar(32) binary; 来就该表的属性。

2.在query的时候加上binary,select * from usertest where username like binary  '%夏%' ,就可以准确的查询出一条记录来。MYSQL的binary解决mysql数据大小写敏感问题

最新文章

  1. Django基础,Day6 - 单元测试tests
  2. BZOJ 1036: [ZJOI2008]树的统计Count [树链剖分]【学习笔记】
  3. 关于HTML页面布局要注意的问题
  4. js 表格实现
  5. 真正理解linux的inode?
  6. vim安装YouCompleteMe 插件
  7. urllib2.urlopen超时问题
  8. windows身份验证,那么sqlserver的连接字符串的
  9. 谁动了我的CurrentPrincipal?解释一下为什么CurrentPrincipal变了,并解决这个问题。
  10. [置顶] ※数据结构※→☆线性表结构(queue)☆============队列 顺序存储结构(queue sequence)(八)
  11. Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑
  12. 北京大学冯哲清北学堂讲课day1
  13. CSS iconfont阿里巴巴矢量图库在开发中实战使用
  14. GGTalk ——C#开源即时通讯系统
  15. RFC-TCP
  16. linux 的那些hung 检测机制
  17. element-ui + vue + node.js 与 服务器 Python 应用的跨域问题
  18. py3+requests+urllib+bs4+threading,爬取斗图图片
  19. centos7上设置中文字符集
  20. 使用简单的python语句编写爬虫 定时拿取信息并存入txt

热门文章

  1. [RxJS] Filtering operator: filter
  2. [React] React Fundamentals: with-addons - ReactLink
  3. BootStrap table 传递搜索参数
  4. (转)高性能I/O模型
  5. js获取上一个月、下一个月
  6. iBatis 的插入一个实体
  7. Gridview分頁保存選項
  8. eclipse build很慢的时候,有可能是js文件编译验证慢的问题
  9. CGContextRef一点用法
  10. java 迭代器iterator