在MariaDB中,重音字母和非重音字母是相同的

ffdz8vbo  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(145)

我在MariaDB数据库中有一个表,它包含任何语言的单词。问题是,例如,'a' == 'á'被认为是true

MariaDB [(none)]> select 'a' = 'á';
+------------+
| 'a' = 'á'  |
+------------+
|          1 |
+------------+

单词的列在表中被标记为UNIQUE,这有利于防止重复,但它将'arat'和'árát'视为相同,因此如果'árát'已经存在,则'arat'的插入失败,这不是预期的行为,应该允许这两个单词在表中并行存在。
我在ArchLinux上使用的是MariaDB 10.7.3-1。如何设置MariaDB来区分这些单词?

wgx48brx

wgx48brx1#

使用如下的COLLATE在字符集中进行比较。

SELECT 'str1' = 'str2' COLLATE <charset>;

相关问题