mysql查询对大小写不敏感的问题
2016-10-26 10:20
453 查看
**之前项目到遇到了这样的问题来总结一下**
项目中经常用到模糊查询,如:有个username字段的的内容是:AA812135023,我们查询这条记录,查询的sql select * from 表 where username like '%AA%',能找到这条记录,但是用 select * from 表 where username like '%aa%' 也能查询到这条记录.
问题出在哪里?出现在创建数据表上,应该用下面的code创建表
CREATE TABLE `message` ( `msgId` BIGINT(20) NOT NULL COMMENT '消息ID', `bizType` INT(11) NOT NULL COMMENT '消息业务类型 参见枚举BizType', `bizId` INT(11) NOT NULL COMMENT '消息对应的业务ID', `src` BIGINT(20) NOT NULL COMMENT '发送者ID', `dst` BIGINT(20) NOT NULL COMMENT '接受者ID', `msgStatus` INT(11) NOT NULL COMMENT '消息状态 参见枚举MsgStatus', `status` INT(11) DEFAULT '0' COMMENT '参考枚举:Status', `createBy` INT(11) DEFAULT '0', `createTime` DATETIME DEFAULT NULL, `updateBy` INT(11) DEFAULT '0', `updateTime` DATETIME DEFAULT NULL, `lastUpdate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`msgId`) ) ENGINE = InnoDB //使用的搜索引擎,有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB) DEFAULT CHARSET = utf8 //编码格式,有时候数据库乱码就出现在这里. DEFAULT COLLATE = utf8_bin;//查询对大小写敏感
那不是每个表都需要下面这段东西,这样显的比较繁琐,
ENGINE = InnoDB //使用的搜索引擎,有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB) DEFAULT CHARSET = utf8 //编码格式,有时候数据库乱码就出现在这里. DEFAULT COLLATE = utf8_bin;//查询对大小写敏感
我们创建数据库的时候,用下面的code就不用每个表都写上面这一段了
create database test default character set utf8 collate utf8_bin;
如果你的数据已经建好了,修改即可
ALTER SCHEMA `bbj_local` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin ;
如何修改mysql默认的搜索引擎?
1、查看mysql存储引擎命令,在mysql>提示符下搞入show engines;字段 Support为:Default表示默认存储引擎 2、设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句 3、重启mysql服务器:mysqladmin -u root -p shutdown或者service mysqld restart 登录mysql数据库,
相关文章推荐
- MYSQL查询大小写是否敏感问题分析
- MySQL查询大小写是否敏感问题分析
- MySQL查询中出现的值大小写不敏感问题
- MYSQL查询大小写是否敏感问题分析
- mysql数据查询大小写敏感问题
- MySQL查询大小写是否敏感问题分析
- mysql 查询字符串大小写不敏感
- Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误
- mysql语句在linux下大小写敏感问题
- mysql大小写敏感问题
- MySQL查询不区分大小写问题
- MySQL查询不区分大小写问题
- mysql查询不区分大小写问题
- MySQL查询不区分大小写问题
- MySQL大小写敏感问题和命名规范
- mysql 数据表大小写敏感问题
- Mysql查询大小写不敏感简便解决办法
- mysql查询语句的大小写敏感设置
- MySQL大小写敏感问题和命名规范
- php pgsql查询关于表名大小写敏感问题笔记