您的位置:首页 > 数据库 > MySQL

mysql不区分à与a或大小写的解决方法

2016-09-08 13:18 253 查看

mysql不区分à与a或大小写的解决方法

以下适合于大小写不敏感的情况也适用于不区分à与a.

1.查看排序规则(collation)

当列使用的排序规则是以
_ci
结尾的时候,比如我们一般使用的utf8mb4的这几个排序规则是这样的.      

Variable_nameValue
collation_connectionutf8mb4_general_ci
collation_databaseutf8mb4_general_ci
collation_serverutf8mb4_general_ci
.以
_ci
结尾的都是大小写不敏感的.

_cs
或者
_bin
结尾的排序规则都是大小写敏感的.

可以使用一下命令来查看这些排序规则:

mysql> show variables like ‘%collation%’;

+———————-+——————-+

| Variable_name | Value |

+———————-+——————-+

| collation_connection | utf8mb4_general_ci |

| collation_database | utf8mb4_general_ci |

| collation_server | utf8mb4_general_ci |.

也可以查看表的排序规则:

mysql> SELECT table_schema, table_name, table_collation

FROM information_schema.tables WHERE table_name =
mytable
;

+———————-+————+——————-+

| table_schema | table_name | table_collation |

+———————-+————+——————-+

| myschema | mytable | latin1_swedish_ci |

2.改变排序规则

能够改变数据库 ,或者的排序规则:

– Change database collation

ALTER DATABASE
databasename
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

– or change table collation

ALTER TABLE
table
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

– or change column collation

ALTER TABLE
table
CHANGE
Value


Value
VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;

当然了,这些utf8_bin的也可以改成utf8mb4_bin.

原帖地址:

http://stackoverflow.com/questions/3936967/mysql-case-insensitive-select

Comparisons are case insensitive
这一条
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql