Maison >base de données >tutoriel mysql >Mysql insère des caractères pinyin via INSERT IGNORE INTO Comment résoudre le problème ?
Préparez un mot-clé d'importation par lots Excel, qui contient 2 mots-clés
1.pokemon
2.pokémon
Remarque : l'un de ces deux mots-clés est un e ordinaire et l'autre est une syllabeé
Préparer le script SQL de la table de base de données#🎜🎜 #
-- 导入关键词表 CREATE TABLE `keyword_lexicon` ( `id` int(10) NOT NULL AUTO_INCREMENT, `keyword` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '搜索关键词', PRIMARY KEY ("id"), UNIQUE KEY "idx_keyword" ("keyword") USING BTREE COMMENT '关键词' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='导入关键词表';2 . Récurrence du scénarioÉcrire simplement une interface d'importation, le code n'est pas joint. A noter que la méthode INSERT IGNORE INTO est utilisée pour importer sql Si le mot clé existe déjà. ne soit pas écrit sur la table. (Le champ de mot-clé est défini comme un index unique) L'exemple d'importation SQL est le suivant
INSERT IGNORE INTO keyword_lexicon (`keyword`) VALUES ('pokemon'),('pokémon')Une fois l'interface importée, vérifiez la table de la base de données et constatez qu'il y a une seule donnée Pokémon. 3. Résoudre le problèmeEn regardant la structure de la table, nous avons constaté que la règle de tri du champ de mot-clé est
#🎜🎜 #
utf8mb4_general_ci
utf8mb4_general_ci
这种排序规则在识别é这种带有音节的字符时,会识别为e,导致2个关键词在通过INSERT IGNORE INTO导入后只会有一条记录,只要将排序规则改为
utf8mb4_bin
.
utf8mb4_bin
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!