0

我确实有一个带有表格的 UTF8 InnoDB 数据库,比如“单词”:

> desc words;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(50) | NO   | UNI | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

当我执行查询时

select * from word where name = 'Télécom';

我得到一个我无法解释的奇怪结果:

+------+---------+
| id   | name    |
+------+---------+
| 4980 | telecom |
+------+---------+

提前致谢!

4

1 回答 1

2

这是因为排序规则 - 它定义了字符的比较方式以及哪些被认为是相等的。这可能是期望的结果,也可能不是 - 在最后一种情况下,使用二进制排序规则,只有严格相等的字符串才会被认为是相等的。但请记住,二进制排序规则也区分大小写

于 2012-05-09T19:17:51.530 回答