MySql主键不区分大小写问题、查询不区分大小写问题

时间:2021-08-04 00:50:06

一、问题一:MySql默认主键不区分大小写

实例:

[sql] view plain copy
  1. -- 创建混合类型   
  2. create table PlainText(  
  3. Content nvarchar(50) ,  
  4. primary key(Content)  
  5. );  
  6. insert into PlainText values('a');  
  7. insert into PlainText values('A');  


抛出异常:Duplicate entry 'a' for key 'PRIMARY',主键不能重复

解决方法1:创建表时字段指定binary

解决方法2:修改列指定binary

  1. -- 修改列  
  2. ALTER TABLE `Md5Data`.`PlainText`   
  3. CHANGE COLUMN `Content` `Content` VARCHAR(55) CHARACTER SET 'utf8' BINARY NOT NULL DEFAULT '' ;  


二、问题二:MySql查询时不区分大小写

第一种:让mysql查询时区分大小写

  1. select * from usertable where binary id = 'A';  

第二种:在建表时加以标识

    1. create table table_name {  
    2. id varchar(32) binary;