1.实例表结构:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 CREATE TABLE `student` ( 2 `first_name` varchar(50) NOT NULL DEFAULT '' , 3 `last_name` varchar(50) NOT NULL DEFAULT '' , 4 PRIMARY KEY (`first_name`,`last_name`) 5 )
2.大小写不敏感可能导致的错误
1)数据插入语句及错误:唯一索引组合,大小写不一致的也会判断为主键重复
insert into student values ('zhang','san'),('zhang','San')
1 SQL执行错误#1062,从数据库响应: 2 Duplicate entry 'zhang-San'for key 'PRIMARY'
2)查询语句及错误:
删除以上唯一索引,再次执行上面的语句,成功插入,然后进行查询。
查询语句
select * from student where last_name = 'san'
执行结果
first_name last_name
zhang san
zhang San
结果为2条,没有区分大小写。
解决办法:将列的编码方式设置为utf8_bin
alter table student change last_name last_name varchar(50) binary;