Подтвердить что ты не робот

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

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

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

EDIT: Хорошо, я понял уникальный флажок, создает UNIQUE INDEX, а не UNIQUE CONSTRAINT

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

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