sql >> Base de Datos >  >> RDS >> Mysql

mySQL:conjunto de caracteres utf8 en la tabla de índice y error de clave duplicada

Debe utilizar la intercalación utf8_unicode_ci cuando usa caracteres alemanes, de acuerdo con la discusión en este error:Error #39816 intercalación alemana bajo utf8_unicode_ci es incorrecto .

A pesar del título de ese error, acabo de probar esto en 5.6.15, y su caso de prueba funciona, mientras que la intercalación Unicode predeterminada no funciona:

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ß');

PD:Le recomiendo que utilice un entorno de desarrollo con las mismas versiones de todo el software que su entorno de producción, o al menos comparta la misma versión principal. Es probable que se encuentre con otras incompatibilidades si desarrolla en 5.5 y luego intenta implementar en 5.0.