Tworzenie unikalnych ograniczeń na wielu kolumnach w MySQL Workbench EER diagram

W diagramie EER MySQL Workbench jest pole wyboru, aby każda kolumna w tabeli była unikalna, a nie null, klucz główny itp.

Chciałbym jednak mieć unikalne ograniczenie dla wielu kolumn. Czy mozna go dodac w MySQL Workbench ' s EER diagram?

EDIT: Ok, zrozumiałem, że unikalne pole wyboru, tworzy unikalny indeks, a nie unikalne ograniczenie

Author: zhenming, 2012-07-07

3 answers

W oknie dialogowym Alter Table MySQL Workbench:

  • Przejdź do zakładki indeksy.
  • Kliknij dwukrotnie pusty wiersz, aby utworzyć nowy indeks.
  • Wybierz "UNIQUE" jako typ indeksu.
  • Sprawdź kolumny, które chcesz być unikalne razem.

Jest jakaś dyskusja czy jest to dziwne, ponieważ indeks nie jest tym samym co ograniczenie. Na pewno nie pomyślałbym, żeby tam zaglądać. Jednak najwyraźniej "unikalny indeks" wymusza wyjątkowość w taki sam sposób, jak unikalne ograniczenie i może poprawić wydajność. Na przykład, jeśli spróbuję wstawić wiersz, który złamałby unikalne razem po użyciu tej metody, wyrzuci błąd "1062 Duplicate entry".

 94
Author: Alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-18 06:38:10

Nie wydaje się być dostępna: http://bugs.mysql.com/bug.php?id=48468 . wydaje się, że możesz utworzyć unikalny indeks wielu kolumn na karcie indeksy, ale dla unikalnego ograniczenia wielu kolumn musisz ręcznie uruchomić polecenie tworzenia.

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-07 20:29:27

Z najnowszym MWB (jestem na 6.0.8), można tworzyć klucze złożone

Jeśli chcesz utworzyć złożony klucz podstawowy, możesz zaznaczyć wiele kolumn i zaznaczyć pole wyboru PK. Istnieje jednak dodatkowy krok, który jest wymagany, musisz kliknąć kartę Indeksy, a następnie w Panelu kolumny indeksów musisz ustawić żądaną kolejność kluczy podstawowych.

 2
Author: GeorgioA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-14 07:37:58