Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mySQL:utf8-Zeichensatz in Indextabelle und doppelter Schlüsselfehler

Sie sollten die Sortierung utf8_unicode_ci verwenden wenn Sie deutsche Zeichen verwenden, entsprechend der Diskussion in diesem Fehler:Bug #39816 Deutsche Sortierung unter utf8_unicode_ci ist falsch .

Trotz des Titels dieses Fehlers habe ich dies gerade auf 5.6.15 getestet, und Ihr Testfall funktioniert, während die standardmäßige Unicode-Sortierung nicht funktioniert:

CREATE TABLE `test` (
  `id` varchar(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_unicode_ci;

INSERT INTO `test` (`id`) VALUES ('das'), ('daß');

PS:Ich empfehle, dass Sie in einer Entwicklungsumgebung die gleichen Versionen aller Software wie in Ihrer Produktionsumgebung verwenden oder zumindest die gleiche Hauptversion verwenden. Sie werden zwangsläufig auf andere Inkompatibilitäten stoßen, wenn Sie in 5.5 entwickeln und dann versuchen, auf 5.0 bereitzustellen.