Heim >Datenbank >MySQL-Tutorial >So gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild)
Kürzlich meldete die Unternehmensseite, dass das Einfügen einzelner Benutzerinformationen fehlgeschlagen ist und die Fehlermeldung ähnlich war wie „Falscher Zeichenfolge-Wert: „xF0xA5....“ Wenn man sich diese Eingabeaufforderung ansieht, sollte es so sein Der -Zeichensatz wird nicht unterstützt. Es wird durch ein seltenes Wort verursacht, auf das sich Freunde, die es benötigen, beziehen können Die Fehlermeldung war ähnlich wie „Falscher Zeichenfolgenwert: „xF0xA5....“ Sehen Sie sich diese Eingabeaufforderung an. Dies kann daran liegen, dass der Zeichensatz ein seltenes Zeichen nicht unterstützt.
Das Folgende ist die in der virtuellen Maschine reproduzierte Szene:
Schritt 1: Simulieren Sie die ursprüngliche Tabellenstruktur-Zeichensatzumgebung:
Schritt 2: Fügen Sie seltene Zeichen ein (verwenden Sie sqlyog-Simulation):use test; CREATE TABLE `t1` ( `id` int(10) NOT NULL AUTO_INCREMENT, `real_name` varchar(255) CHARACTER SET utf8 DEFAULT '' COMMENT '姓名', `nick` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '昵称', PRIMARY KEY (`id`) ) ENGINE=InnoDBAUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='会员卡';
1. Simulieren Sie zunächst die Online-Umgebung und legen Sie den Zeichensatz fest:
2 an: www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php?zfj=kzb&ks=24E20&
jsWir versuchen es um „König“ einzufügen (halten Sie die Alt-Taste in W
Wortgedrückt und geben Sie 152964 ein). Sie können sehen, dass das Einfügen fehlgeschlagen ist. Schritt 3. Ändern Sie den Zeichensatz von real_name:
Wenn es sich um eine große Online-Tabelle handelt, können Sie sie mit pt-osc verarbeiten. Der Befehl lautet wie folgt:use test; alter table t1 change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' ;
pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --dry-run
pt-online-schema-change -uroot -h localhost --alter=" change real_name real_name varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '姓名' " D=test, t=t1 --no-check-replication-filters --alter-foreign-keys-method=auto --recursion-method=none --quiet --charset=utf8mb4 --execute
1. Stellen Sie zuerst den Zeichensatz ein:
2. Fügen Sie es erneut ein und Sie können sehen, dass das Einfügen erfolgreich war.
In der Befehlszeile
Abfrageund es gibt keinen verstümmelten Code:
Das ist es. Ja, Sie können sich darauf beziehen.
Das obige ist der detaillierte Inhalt vonSo gehen Sie mit dem Fehler um, der beim Einfügen seltener Zeichen in MySQL fehlschlägt (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!