我有一个多语言平台。我需要它根据mysql连接的首选排序规则对结果进行排序。不是通过mysql结构整理。
这可以不重写每个查询吗?我不想在每个查询中以示例order by name asc collate utf8_swedish_ci
结束。
set names utf8 collate utf8_swedish_ci
在b之前的结果顺序不起作用,例如utf8_general_ci。
答案 0 :(得分:1)
SET NAMES
内容处理用于查询和查询元数据(如列名)的字符集。它对从表中处理数据没有影响。看这里。 http://dev.mysql.com/doc/refman/5.6/en/charset-connection.html
您询问是否可以使用特定排序规则(可能是用户首选项设置)来订购结果而不重写查询。答案是否定的。
这部分是因为在构造或更新索引时,排序规则会绑定到索引中。这对性能非常有利,但遗憾的是不适用于泛欧多种归类应用程序。