MySQL 中的 collation_database、collation_connection、collation_server 有何用途?
-
22-07-2019 - |
题
Illegal mix of collations (big5_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'
有时会抛出这个错误,这是怎么回事?什么是 collation_*
用于?有人可以给我一个例子来展示字符是如何编码、传输和选择的,与 collation_*
?
解决方案
在MySQL中,每个表都有一个表字符集和一个表排序规则。
排序规则是一组关于如何对字符串进行比较和排序的规则。
每个 MySQL 排序规则都属于一个字符集,并且每个 MySQL 字符集都可以有一个或多个属于它的排序规则。
Mysql使用 binary_key
对于字符集排序,新的 weight_string
MySQL 5.2 中提供的函数将要比较的字符转换为 binary_key
.
SELECT WEIGHT_STRING('a');
给出 0x41。
SELECT WEIGHT_STRING('A');
给出 0x41。
这 pdf 来自 Mysqlwiki 的示例有您想要的!
不隶属于 StackOverflow