SQL Server 2008 R2 を使用しており、一意の列を設定したいと考えています。
これを行うには、「ユニーク インデックス」と「ユニーク制約」の 2 つの方法があるようです。これらは私が理解しているものとあまり違いはありませんが、自動的にインデックスも取得されるため、ほとんどの人はユニーク制約を推奨しています。
一意制約を作成するにはどうすればよいですか?
ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)
SQL Server Management Studio を使用して一意制約を作成する方法はありますか?
ベストアンサー1
GUI から SQL Server で列を一意として設定します。
GUI でこれを行うには、実際に納屋の周りを走り回る必要があります。
開始する前に、列が一意制約に違反していないことを確認してください。
- SQL Server Management Studio を開きます。
- テーブルを右クリックし、「デザイン」をクリックします。
- 編集する列を右クリックするとポップアップ メニューが表示されるので、[インデックス/キー] をクリックします。
- 「追加」ボタンをクリックします。
- 「全般」タブを展開します。
- 「列」ボックスで、一意にする列が選択されていることを確認します。
- 「タイプ」ボックスを「一意のキー」に変更します。
- 「閉じる」をクリックします。
- ファイル ウィンドウに小さなアスタリスクが表示されます。これは、変更がまだ保存されていないことを意味します。
- [保存] を押すか、Ctrl + s を押します。保存され、列が一意になります。
または、SQL クエリ ウィンドウから列を一意として設定します。
alter table location_key drop constraint pinky;
alter table your_table add constraint pinky unique(yourcolumn);
変更は直ちに有効になります:
Command(s) completed successfully.