13

如何一劳永逸地修复该错误?我只想能够在 MySQL 中进行联合。

(我正在寻找一种捷径,比如让 MySQL 忽略该问题或采取最佳猜测的选项,而不是希望更改 100 个表的排序规则……至少今天不会)

4

3 回答 3

7

不确定 mySQL 但在 MSSQL 中,您可以更改查询中的排序规则,例如,如果您有 2 个具有不同排序规则的表并且您想加入它们,或者在您的情况下,您可以使用 crate UNION

select column1 from tableWithProperCollation
union all
select column1 COLLATE SQL_Latin1_General_CP1_CI_AS from tableWithDifferentCollation

当然 SQL_Latin1_General_CP1_CI_AS 只是您想要“转换”为的排序规则的一个示例

于 2008-10-08T16:22:09.777 回答
4

谢谢克里斯托夫。在这种情况下,它是由在第一次选择中选择文字引起的,而不是来自任何不同的表排序规则。

具有讽刺意味的是,我是通过关注我为该问题撰写的这篇旧博客文章来实现它的。

于 2008-10-08T17:36:35.853 回答
1

我发现一个似乎很简单的修复方法是更改​​给您带来问题的整个数据库。我认为这可能不是最好的方法,但它对我有用而且很容易。我在 MySQL 中运行这个命令:

ALTER DATABASE databasename COLLATE utf8_unicode_ci;
于 2014-10-08T13:32:58.107 回答