SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_
[日期]:2021/04/28 [瀏覽人數]:393 mysql查詢出現錯誤 SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' 此問題是因查詢對應的資料表欄位編碼設定不同,如上的錯誤就是有一個是使用utf8_general_ci,另一個編碼使用了utf8_unicode_ci編碼, 只須把2個對應資料表的對應欄位皆改為使用相同編碼即可。 此問題不僅是2個資料表的關聯查詢欄位不同編碼會出現錯誤,使用function查詢不同資料表的對應欄位也會出現問題。 例如:先由a資料表讀取dt_name,這個欄位是utf8_general_ci,程式設了另一個function,function中用dt_name的參數來取得另一個b資料表的對應dt_name,以取得在b資料表中的資料表其它欄位內容,而b資料表的dt_name設定的編碼是utf8_unicode_ci,執行call function時也會造成錯誤。 |