1. 程式人生 > >mysql 存儲過程中報Illegal mix of collations

mysql 存儲過程中報Illegal mix of collations

mysql 存儲過程 utf8_general_ci utf8_unicode_ci

我寫了一個存儲過程,裏邊有一個遊標,然後遍歷遊標,根據遍歷的結果update 另外一張表的值,這是大體情況;

問題是在update的時候報:Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)錯誤。


表和字段的collate都是utf8_unicode_ci,但是server的是utf8_general_ci,還不能改!


沒辦法只能在存儲過程中轉換!

解決方法:將比較等式一邊進行字符串轉換,如改為“CONVERT(變量 USING utf8) COLLATE utf8_unicode_ci

mysql 存儲過程中報Illegal mix of collations