gpt4 book ai didi

mysql - 为什么Mysql中的两个字符串相同?

转载 作者:行者123 更新时间:2023-11-29 02:39:49 24 4
gpt4 key购买 nike

我在 MySQL 中遇到问题:'amelie''amélie' 在 mysql 中是否相同?

当我对表格使用 distinct 时,它们是相同的。

我用的是MySQL 8.0.15,发现两个字符串是一样的。我知道这是关于语言问题,但我不知道如何解决?请给我一些建议?下面是数据:

CREATE TABLE test1 (aa varchar(255) DEFAULT NULL)
ENGINE = INNODB,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_0900_ai_ci;

SET NAMES 'utf8';
-----------------------------------------------
INSERT INTO test1(aa) VALUES
('amelie'),
('amélie');

------------------------------------------------

SELECT DISTINCT aa FROM test1;

最佳答案

这很可能是您选择的 COLLATION 的行为。您可以使用 COLLATE utf8mb4_bin 解决此默认行为:

SELECT DISTINCT aa COLLATE utf8mb4_bin FROM test1;

或使用二进制:

SELECT DISTINCT(BINARY aa) as aa FROM test1;

您还可以使用二进制 COLLATE 创建表:

CREATE TABLE test1 (aa varchar(255) DEFAULT NULL) ENGINE = INNODB, CHARACTER SET utf8mb4, COLLATE utf8mb4_bin;

关于mysql - 为什么Mysql中的两个字符串相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55036064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com