为什么MySQL将acuñar注册为acunar的重复条目?

我的 MySQL 数据库中有一个动词表,其中包含以下列:

id smallint          UN AI PK
title varchar(25)

我有一个脚本试图为动词“acuñar”插入一个新条目。在表中,已经有一个类似拼写的动词“acunar”的条目。

尽管我的 MySQL 数据库成功存储了 UTF8 字符,但当我运行以下 Python 脚本时:

import mysql.connector
import os
import io

db = mysql.connector.connect(
  host="localhost",
  user="root",
  password="12345678",
  database="polly_es",
  use_unicode=True,
  charset="utf8",
)

cursor = db.cursor()

sql = "INSERT INTO verb (title) VALUES ('acuñar')"

cursor.execute(sql)

我收到以下错误:

mysql.connector.errors.IntegrityError: 1062 (23000): Duplicate entry 'acuñar' for key 'verb.title'

是的,我确定表中已经没有“acuñar”条目。

是的,我的模式已编码。

CREATE SCHEMA `polly_es` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

回答

因为您的整理使用utf8mb4_0900_ai_ci了 AI 代表的地方

AI 指的是口音不敏感。即在排序或比较时,e、è、é、ê 和ë 没有区别。

所以你可以试试 utf8mb4_0900_as_ci


以上是为什么MySQL将acuñar注册为acunar的重复条目?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>