2016-06-28 73 views
0

我的MySQL表格有2列,word1和word2(不區分大小寫和排序規則utf8_bin)。MySQL表格與不區分大小寫的選擇和唯一索引

Word1可以是'籃球'或'籃球'或'籃球'。

(籃球,遊戲)和(籃球,遊戲)都在表格中作爲行存在。

我在word1,word2上使用了一個唯一的索引來防止插入重複的行,例如存在行(籃球,遊戲),因此將(籃球,遊戲)插入表中將被拒絕。

問題是SELECT區分大小寫,並刪除'utf8_bin'排序規則給出重複條目錯誤。

如何獲得SELECT來匹配不區分大小寫'籃球'和'籃球'兩行?

回答

1

您可以指定排序規則與COLLATE keyword使用,例如

select * from mytable where word1 = 'baseball' collate utf8_general_ci 
+0

COLLATE阻止查詢使用索引,有沒有更好的辦法? – user2827214

+0

您可以使用不區分大小寫的排序規則和索引創建列。 – Joni