sql >> Databasteknik >  >> RDS >> Mysql

mySQL:utf8-teckenuppsättning på indextabell och dubblettnyckelfel

Du bör använda sorteringen utf8_unicode_ci när du använder tyska tecken, enligt diskussionen i denna bugg:Bug #39816 tysk kollation under utf8_unicode_ci är felaktig .

Trots rubriken på den buggen testade jag just detta den 5.6.15, och ditt testfall fungerar, medan standard unicode-sorteringen inte fungerar:

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:Jag rekommenderar att du använder en utvecklingsmiljö med samma versioner av all mjukvara som din produktionsmiljö, eller åtminstone delar samma huvudversion. Du kommer säkert att stöta på andra inkompatibiliteter om du utvecklar i 5.5 och sedan försöker distribuera till 5.0.



  1. Hur infogar man en mikrosekund-precision datetime i mysql?

  2. Gruppera efter - flera villkor - MySQL

  3. mysql lasttestverktyg

  4. Hur återställer man det bortglömda MySQL root-lösenordet?