MySQL 中的 collat​​ion_database、collat​​ion_connection、collat​​ion_server 有何用途?

StackOverflow https://stackoverflow.com/questions/1443346

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 的示例有您想要的!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top