Rumah  >  Artikel  >  pangkalan data  >  Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?

Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?

王林
王林ke hadapan
2023-05-31 19:55:04897semak imbas

1. Persediaan

Sediakan excel kata kunci import kelompok, yang mengandungi 2 kata kunci

1.pokemon

2.pokémon

Nota : Satu daripada dua kata kunci ini ialah e biasa, dan satu lagi ialah suku kata é

Sediakan skrip sql jadual pangkalan data

-- 导入关键词表
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 Scene recurrence

Cukup tulis antara muka import, kod tidak dilampirkan Perlu diingat bahawa kaedah INSERT IGNORE INTO digunakan untuk mengimport sql Jika kata kunci sudah wujud dalam jadual, ia tidak akan ditulis pada jadual. (Medan kata kunci ditetapkan sebagai indeks unik)

Contoh pengimportan sql adalah seperti berikut

INSERT IGNORE INTO keyword_lexicon (`keyword`) VALUES ('pokemon'),('pokémon')

Selepas melaraskan antara muka untuk melengkapkan import, semak jadual pangkalan data dan dapatkan bahawa terdapat hanya satu keping data Pokemon.

Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?

3 Selesaikan masalah

Melihat struktur jadual, kami mendapati bahawa peraturan pengisihan medan kata kunci ialah

    <.>
  • utf8mb4_general_ci

Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?

Peraturan penyortiran ini akan mengenali watak -watak dengan suku kata seperti & eacute; hanya akan menjadi satu rekod selepas mengimport melalui INSERT IGNORE INTO, cuma tukar peraturan pengisihan kepada

  • utf8mb4_bin

Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?

Kemudian import sekali lagi Periksa keputusan dan anda akan mendapati bahawa kedua-dua kepingan data telah dimasukkan ke dalam jadual, dan masalah telah diselesaikan.

Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?

Ringkasan

  • utf8mb4_bin adalah sensitif huruf besar-besaran dan juga membezakan aksara seperti e dan é

  • utf8_genera_ci tidak sensitif huruf besar-besaran dan tidak membezakan antara aksara seperti e dan é

Nota: utf8_general_cs sensitif huruf besar-besaran, tetapi tidak membezakan antara e dan é

Jika anda perlu membezakan aksara dengan suku kata dan tidak mahu menjadi sensitif huruf besar kecil, anda boleh menggunakan fungsi LOWER()

apabila menanyakan medan yang sepadan dalam SQL

Atas ialah kandungan terperinci Mysql memasukkan aksara pinyin melalui INSERT IGNORE INTO Bagaimana untuk menyelesaikan masalah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam