[英]Illegal mix of collations (ascii_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE)
[英]Illegal mix of collations (latin5_turkish_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
我該如何解決
"Illegal mix of collations (latin5_turkish_ci,IMPLICIT)
and (latin1_swedish_ci,COERCIBLE)
for operation '='" problem?
我的查詢: select * from up where name='camış'
連接選項:
SET NAMES 'latin5'
SET character_set_connection = 'latin5'
SET collation_connection = latin5_turkish_ci
-我將排序規則更改為latin5_turkish_ci,但不起作用。 在幾分鍾(大量查詢)之間,問題自行消失。
這個想法很糟糕,但應該可以:
SELECT *
FROM up
WHERE CONVERT(name USING latin5) COLLATE latin5_turkish_ci = 'camış'
最好將所有列都轉換為所需的字符集(這應該是UTF-8)。
[+]轉換是指不更改表/列的默認排序規則,而是轉換其中的所有數據。 因此,我將使用目標字符集創建新列,並使用UPDATE table SET new_column = CONVERT(old_column USING characterset)
填充它,刪除舊列並重命名新列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.