如何一勞永逸修復該錯誤?我只是想能夠在MySQL中進行聯合。MySQL - 用於操作'UNION'的排序規則(utf8_general_ci,COERCIBLE)和(latin1_swedish_ci,IMPLICIT)的非法混合
(我在尋找一個快捷方式,就像一個選項,以使MySQL忽略了這個問題,要麼把它最好的猜測,並不想改變表的排序規則數百......至少不是今天)
如何一勞永逸修復該錯誤?我只是想能夠在MySQL中進行聯合。MySQL - 用於操作'UNION'的排序規則(utf8_general_ci,COERCIBLE)和(latin1_swedish_ci,IMPLICIT)的非法混合
(我在尋找一個快捷方式,就像一個選項,以使MySQL忽略了這個問題,要麼把它最好的猜測,並不想改變表的排序規則數百......至少不是今天)
不肯定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只是您想要「轉換」爲
謝謝克里斯托夫。在這種情況下,它是由在第一次選擇中選擇一個文字而不是從任何不同的表格歸類引起的。具有諷刺意味的是,我通過關注這個問題的old blog post得到了它的工作。
我發現這個修復似乎是一個簡單的修復方法,那就是改變整個數據庫,給你帶來問題。我認爲這可能不是最好的方式,但它對我很有用,而且很簡單。我在MySQL中使用這個命令:
ALTER DATABASE databasename COLLATE utf8_unicode_ci;
這可能會起作用,但我的查詢選擇了大約80列,其中一些列由更多列組成。編輯整個查詢需要一段時間。有沒有隻是「忽略排序錯誤」設置? :-) – Greg 2008-10-08 16:33:03