0
点赞
收藏
分享

微信扫一扫

mysql写入数据提示“Duplicate entry for primary key”,但是检查发现无重复键值

发生此情况一般是由于我们的数据区分大小写,但是mysql查询及存储默认情况是不区分大小写的,我们可以在定义表的时候就声明区分大小写。例如下面再定义usertable表的字段id时要求区分大小写,

create table `usertable`(

 `id` varchar(32) binary,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `usertable` (

 `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

通过上面方式定义的字段id则区分大小写。使用select * from t_test where binary s_id=’a’,则不会查询出s_id=A的结果。

举报

相关推荐

0 条评论