当列使用以_ci结尾的归类(例如, 默认的 latin1_general_ci归类)时,比较是不区分大小写的,当列使用以_cs或_bin结尾的归类时(例如utf8_unicode_cs和utf8_bin归类),它们区分大小写 。
检查整理
您可以使用以下方式检查您的服务器 , 数据库和连接归类:
mysql> show variables like '%collation%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | utf8_general_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_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 |
更改整理
您可以将数据库,表格或列整理更改为区分大小写,如下所示:
-- 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;
现在你的比较应该是区分大小写的。