Создание ограничения UNIQUE для нескольких столбцов в диаграмме EER MySQL Workbench
В диаграмме EER MySQL Workbench есть флажок, чтобы каждый столбец в таблице был уникальным, а не нулевым, первичный ключ и т.д.
Однако, я хотел бы иметь ограничение UNIQUE для нескольких столбцов. Можно ли добавить его в диаграмму EER MySQL Workbench?
EDIT: Хорошо, я понял уникальный флажок, создает UNIQUE INDEX, а не UNIQUE CONSTRAINT
Ответы
Ответ 1
В диалоговом окне "Alter Table" MySQL Workbench:
- Перейдите на вкладку "Индексы".
- Дважды щелкните по пустой строке, чтобы создать новый индекс.
- Выберите "UNIQUE" в качестве типа индекса.
- Проверьте столбцы, которые вы хотите быть уникальными вместе.
Там есть обсуждение относительно того, является ли это странным, поскольку индекс не является тем же самым, что и ограничение. Я, конечно, не думал бы там смотреть. Однако, по-видимому, "уникальный индекс" обеспечивает уникальность так же, как и уникальное ограничение, и может повысить производительность. Например, если я попытаюсь вставить строку, которая будет разрушаться уникально вместе после использования этого метода, она выдает ошибку '1062 Duplicate entry'.
Ответ 2
он кажется недоступным: http://bugs.mysql.com/bug.php?id=48468. кажется, что вы можете создать уникальный индекс с несколькими столбцами на вкладке индексов, но для уникального ограничения нескольких столбцов вам нужно запустить команду создания вручную.
Ответ 3
С последним MWB (я на 6.0.8) можно создавать составные клавиши
Если вы хотите создать составной первичный ключ, вы можете выбрать несколько столбцов и установить флажок PK. Тем не менее, требуется дополнительный шаг, вы должны щелкнуть вкладку "Индексы", а затем на панели "Индексные столбцы" вы должны установить желаемый порядок первичных ключей.