Создание уникального ограничения для нескольких столбцов в диаграмме MySQL Workbench EER

в диаграмме EER MySQL Workbench есть флажок, чтобы сделать каждый столбец в таблице уникальным, а не нулевым, первичным ключом и т. д.

однако я хотел бы иметь уникальное ограничение на несколько столбцов. Можно ли добавить его в диаграмму EER MySQL Workbench?

EDIT: Ok, Я понял уникальный флажок, создает уникальный индекс, а не уникальное ограничение

3 ответов


в диалоговом окне Alter Table MySQL Workbench:

  • перейдите на вкладку указатели.
  • дважды щелкните пустую строку, чтобы создать новый индекс.
  • выберите "уникальный" в качестве типа индекса.
  • Проверьте столбцы, которые вы хотите быть уникальными вместе.

есть немного обсуждение что касается того, странно ли это, так как индекс не совпадает с ограничением. Я, конечно, не думал там искать. Однако, по-видимому, "уникальный индекс" обеспечивает уникальность так же, как уникальное ограничение, и может улучшить производительность. Например, если я попытаюсь вставить строку, которая будет разбивать unique вместе после использования этого метода, она выдает ошибку "1062 Duplicate entry".


кажется, что он недоступен:http://bugs.mysql.com/bug.php?id=48468 . кажется, что вы можете создать уникальный индекс нескольких столбцов на вкладке индексы, но для ограничения уникальности нескольких столбцов вам нужно запустить команду creation вручную.


с последним MWB (я на 6.0.8),можно создать составные ключи

Если вы хотите создать составной первичный ключ, вы можете выбрать несколько столбцов и установите флажок ПК. Однако существует дополнительный шаг, который требуется, необходимо щелкнуть вкладку индексы, затем на панели столбцы индекса необходимо задать нужный порядок первичных ключей.