这是因为可以有多种方式来解决这个问题:)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
哈哈你是对的,它的工作原理。你想回答这个问题吗? –