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

时间:2022-04-24 17:19:59

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

实例:

  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;
    3. }