Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mySQL:zestaw znaków utf8 w tabeli indeksu i błąd zduplikowanego klucza

Powinieneś użyć sortowania utf8_unicode_ci kiedy używasz niemieckich znaków, zgodnie z dyskusją w tym błędzie:Bug #39816 Zestawienie niemieckie pod utf8_unicode_ci jest niepoprawny .

Pomimo tytułu tego błędu, właśnie przetestowałem to na 5.6.15 i twój przypadek testowy działa, podczas gdy domyślne sortowanie Unicode nie działa:

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:Zalecam korzystanie ze środowiska programistycznego z tymi samymi wersjami całego oprogramowania co środowisko produkcyjne lub przynajmniej z tą samą główną wersją. Jeśli programujesz w wersji 5.5, a następnie spróbujesz wdrożyć w wersji 5.0, na pewno napotkasz inne niezgodności.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uwaga:formularz na tej stronie zawiera ponad 1000 pól PHP MySql

  2. MYSQL:porównanie daty NULL z CURRENT_DATE

  3. PHP/HTML Dodaj przycisk usuwania

  4. Używanie SQLAlchemy ORM dla klucza innego niż podstawowy, unikalny, automatycznie zwiększający się identyfikator

  5. MySQL pokazuje aktualne informacje o połączeniu