首页 > 数据库 > MySQL > 正文

mysql查询区分大小sql语句小结

2024-07-24 12:36:59
字体:
来源:转载
供稿:网友

mysql区别大小写我们只要在字段创建时这样写name varchar (20) binary,然后查询时这样写binary `user`=’www.Vevb.com’即可解决,主要用到binary.

公司网站有需求对用户名验证要验证大小写,其实刚开始他注册的时候就就都是大小写,所以没有必要做大小写验证了,但是现在要登陆的验证大小写,那在注册的时候也要对此进行验证.

但是MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,这个字符集对大小写不敏感,因此在比较过程中中文编码字符大小写转换造成了这种现象.

后来找到一个利用binary临时解决办法,代码如下:

SELECT * FROM  ·表名·WHERE binary `user`=’www.Vevb.com’

主要关键字binary 有它你就可以区分大小写了,代码如下:

create  table  表名 ( name varchar (20) binary  );

如果哪些字段需要区分大小写在在设计表的就可以这样写.

解决办法二,如果你可以修改my.ini配置可以如下解决大小写问题.

A.表名区分大小写,在my.conf加入:ower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

B.插入查询时区分大小写,字段值需要设置BINARY属性,即可区分大小写.

设置的方法有多种,创建时设置:

  1. CREATE TABLE T(  
  2. VARCHAR(10) BINARY  
  3. );  

使用alter修改,代码如下:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

mysql table editor中直接勾选BINARY项.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表