這是因爲可以有多種方式來解決這個問題:)MySQL的變換大小寫敏感的獨特場打進唯一不區分大小寫場
我有一個ID列,它是獨一無二的,但區分大小寫的一個有趣的挑戰問題,例如:
----- ID ------
0018000001K6dkh -> record 1
0018000001K6dkH -> record 2 (different from record 1)
如MySQL是在UTF8不區分大小寫,則考慮在兩個ID值視爲相同:
SELECT COUNT(*) FROM table WHERE id='0018000001K6dkh' //returns 2 instead of 1
SELECT COUNT(*) FROM table WHERE id='0018000001K6dkH' //returns 2 instead of 1
我需要建立一個MySQL函數,我可以AP簾布層此列所有的ID轉換成不區分大小寫和獨特的ID,例如:
function('0018000001K6dkh') = something
function('0018000001K6dkH') = something different
function('0018000000ttzlB') = something even different
function('0018000000tTzlB') = something even more different
注:我不想使用排序規則,因爲我將不得不改變所有我的應用程序(Laravel PHP)中的WHERE
s和JOIN
。我想永久更改ID。
我相當肯定你可以改變字段的排序規則。 – Uueerdo
哈哈你是對的,它的工作原理。你想回答這個問題嗎? –