mysql字段不区分大小写问题

版权声明: https://blog.csdn.net/qxf1374268/article/details/88293280

昨天在查询数据的时候发现,mysql里面建的一张表居然不区分大小写,这个是什么意思呢,就是比如

select username from user where userid = 'XXsddsds';
select username from user where userid = 'xxsddsds';

查询这两个userid,查询出来的结果是相同的,这样看似没错,但是如果userid这个字段是表的主键或者已经给这个表添加了唯一的索引,那么就会有很大的问题。导致查询不出我们想要的数据。

所以我百度了一下,发现这个是由于建表时指定的编码不同,导致mysql对大小写不敏感

我们可以使用下面一句话把上面的字段进行修改就可以了:

ALTER TABLE user MODIFY
COLUMN userid VARCHAR(64) BINARY
CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

这样的话,userid就可以区分大小写了。

猜你喜欢

转载自blog.csdn.net/qxf1374268/article/details/88293280