mysql中处理大小写敏感问题

时间:2021-04-18 00:49:37

1. 首先解释下 utf8_bin跟utf8_general_ci的区别

ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的;bin 是二进制, a 和 A 会别区别对待.例如你运行:SELECT * FROM table WHERE txt = 'a'那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则可以.


 2. 默认新建一个字段是utf8_general_ci,前提你的数据库是UTF-8的

ALTER TABLE `config`
MODIFY COLUMN `description` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '';

或者你用Navicat For Mysql打开表设计修改: mysql中处理大小写敏感问题
mysql中处理大小写敏感问题