Heim >Datenbank >MySQL-Tutorial >Wie kann der MySQL-Fehler „Illegal Mix of Collations' (latin1_swedish_ci und utf8_general_ci) behoben werden?
Details und Lösungen zu MySQL-Zeichensatzkonfliktfehlern
Bei der Verarbeitung großer Datenmengen kann in MySQL der folgende Fehler auftreten:
<code>错误号:1267 操作“=”的字符集校对(latin1_swedish_ci,隐式)和(utf8_general_ci,可强制)不匹配</code>
Dieser Fehler tritt auf, wenn MySQL versucht, Daten mit unterschiedlichen Zeichensatzsortierungen zu vergleichen, was zu einer Inkompatibilität führt. In diesem Fall tritt der Fehler während einer Abfrage auf, die die Spalte „keyword“ (unter der Annahme einer Sortierung mit „latin1_swedish_ci“) mit einem Zeichenfolgenliteral vergleicht, das möglicherweise mit „utf8_general_ci“ sortiert ist.
Zeichensatzkonflikte lösen
Um diesen Fehler zu beheben, können Sie ein paar Dinge ausprobieren:
<code>SET collation_connection = 'utf8_general_ci';</code>
<code>ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;</code>
Weitere Hinweise
MySQL führt manchmal ohne ersichtlichen Grund die Sortierung „latin1_swedish_ci“ ein. Um dieses Problem in Zukunft zu vermeiden, definieren Sie explizit Zeichensätze und Sortierungen für alle Datenbankobjekte, einschließlich Tabellen, Spalten und gespeicherter Prozeduren. Sie können solche Fehler vermeiden, indem Sie sicherstellen, dass alle Daten konsistent erfasst werden.
Das obige ist der detaillierte Inhalt vonWie kann der MySQL-Fehler „Illegal Mix of Collations' (latin1_swedish_ci und utf8_general_ci) behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!