亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL中“非法混合排序規則”錯誤的疑難解答

MySQL中“非法混合排序規則”錯誤的疑難解答

揚帆大魚 2019-07-06 15:38:11
MySQL中“非法混合排序規則”錯誤的疑難解答當試圖通過MySQL中的存儲過程進行選擇時,我會得到以下錯誤。非法組合排序規則(latin 1_General_cs,隱式)和(latin 1_General_ci,隱式)用于操作‘=’知道這里可能出了什么問題嗎?表的排序是latin1_general_ci以及WHERE子句中列的latin1_general_cs.
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

這通常是通過比較兩個不兼容排序規則字符串或試圖將不同排序規則的數據選擇到組合列中造成的。

條款COLLATE允許您指定查詢中使用的排序規則。

例如,以下內容WHERE子句將始終給出您發布的錯誤:

WHERE 'A' COLLATE latin1_general_ci = 'A' COLLATE latin1_general_cs

您的解決方案是為查詢中的兩列指定共享排序規則。下面是一個使用COLLATE條款:

SELECT * FROM table ORDER BY key COLLATE latin1_general_ci;

另一個選項是使用BINARY操作員:

二進制str是強制轉換(str為二進制)的縮寫。

您的解決方案可能如下所示:

SELECT * FROM table WHERE BINARY a = BINARY b;

或,

SELECT * FROM table ORDER BY BINARY a;


查看完整回答
反對 回復 2019-07-06
  • 3 回答
  • 0 關注
  • 1067 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號