如何一劳永逸地修复该错误?我只是想在MySQL中做联盟。
(我正在寻找一个快捷方式,就像让MySQL忽略这个问题的选项或者最好的猜测,而不是在100多个表上更改排序......至少今天不是这样)
答案 0 :(得分:7)
不确定mySQL,但是在MSSQL中你可以更改查询中的排序规则,例如,如果你有2个表具有不同的排序规则并且你想加入它们,或者你可以在你的情况下加入UNION你可以做
select column1 from tableWithProperCollation
union all
select column1 COLLATE SQL_Latin1_General_CP1_CI_AS from tableWithDifferentCollation
当然,SQL_Latin1_General_CP1_CI_AS只是您想要“转换”为
的整理示例答案 1 :(得分:4)
谢谢Kristof。在这种情况下,它是由第一个选择中的文字选择引起的,而不是来自任何不同的表格排序。
具有讽刺意味的是,我按照我为此问题所做的old blog post来实现了它。
答案 2 :(得分:1)
我发现修复似乎是一个简单的修复方法是改变整个数据库,这会给你带来麻烦。我认为这可能不是最好的方法,但它对我有用,而且很容易。我在MySQL中编辑了这个命令:
ALTER DATABASE databasename COLLATE utf8_unicode_ci;