sql >> Databáze >  >> RDS >> Mysql

mySQL:znaková sada utf8 v tabulce indexu a chyba duplicitního klíče

Měli byste použít řazení utf8_unicode_ci když používáte německé znaky, podle diskuze v této chybě:Chyba #39816 Německé řazení pod utf8_unicode_ci je nesprávné .

Navzdory názvu této chyby jsem to právě testoval na 5.6.15 a váš testovací případ funguje, zatímco výchozí řazení unicode nefunguje:

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:Doporučuji, abyste ve vývojovém prostředí používali stejné verze veškerého softwaru jako vaše produkční prostředí, nebo alespoň sdíleli stejnou hlavní verzi. Pokud vyvíjíte v 5.5 a poté se pokusíte nasadit na 5.0, určitě narazíte na další nekompatibility.



  1. Vraťte číslo oddílu pro každý řádek při dotazu na tabulku oddílů na serveru SQL (T-SQL)

  2. mysqli_fetch_array mi dává duplicitní řádky

  3. Aktualizujte součet na základě předchozího řádku zůstatku

  4. Oznamujeme podporu MariaDB 10.2 – ClusterControl 1.5