最佳答案
BIN 列表示该列使用二进制排序规则。
我通过创建一个 VARCHAR 数据类型的表来测试这一点,并检查了 MySQL Workbench 中的 BIN 列。
然后我在命令行客户端中查看了该表的 DDL:
mysql> show create table mytable\G
*************************** 1. row ***************************
Table: mytable
Create Table: CREATE TABLE `mytable` (
`title` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
您可以看到排序规则为 utf8mb4_bin
,这是该字符集的二进制排序规则。
与该列的字符串比较将使用逐字节比较,而不是根据任何与 unicode 兼容的排序规则使用字符等效项。
因此它区分大小写,即使字符仅在变音符号上有所不同,它们也会被视为不同。例如,'e' = 'é'
在二进制比较中为 false。
关于mysql - MySQL Workbench 中的 BIN 列属性有何用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74166665/