web-dev-qa-db-ja.com

MySQL Workbench EERダイアグラムの複数の列にUNIQUE制約を作成する

MySQL WorkbenchのEER図には、テーブルの各列をnullではなく主キーなどで一意にするためのチェックボックスがあります。

ただし、複数の列にUNIQUE制約が必要です。 MySQL WorkbenchのEER図に追加することは可能ですか?

編集:OK、一意のチェックボックスを実現し、一意の制約ではなく一意のインデックスを作成します

39
zhenming

MySQL Workbenchの「テーブルの変更」ダイアログで:

  • [インデックス]タブに移動します。
  • 空の行をダブルクリックして、新しいインデックスを作成します。
  • インデックスタイプとして「UNIQUE」を選択します。
  • 一緒に一意にしたい列をチェックします。

インデックスは制約と同じではないので、これが奇妙かどうか discussion があります。私は確かにそこを見ようとは思わなかっただろう。ただし、明らかに「一意のインデックス」は一意制約と同じ方法で一意性を強制し、パフォーマンスを向上させる可能性があります。たとえば、このメソッドを使用した後、一意にならない行を挿入しようとすると、「1062 Duplicate entry」エラーがスローされます。

105
Alex

最新のMWB(6.0.8を使用)では、 複合キーを作成できます

複合主キーを作成する場合は、複数の列を選択して、[PK]チェックボックスをオンにします。ただし、追加の手順が必要です。[インデックス]タブをクリックし、[インデックス列]パネルで主キーの目的の順序を設定する必要があります。

2
GeorgioA

利用できないようです: http://bugs.mysql.com/bug.php?id=48468 インデックスタブでマルチカラムユニークインデックスを作成することができるようですが、マルチカラムユニーク制約の場合、作成コマンドを手動で実行する必要があります。

2
user890904