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

rya*_*b92 4 python mysql sql

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

id smallint          UN AI PK
title varchar(25)
Run Code Online (Sandbox Code Playgroud)

我有一个脚本试图为动词“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)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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

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

是的,我的模式已编码。

CREATE SCHEMA `polly_es` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Run Code Online (Sandbox Code Playgroud)

Rig*_*lly 9

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

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

所以你可以试试 utf8mb4_0900_as_ci