今日、SQL Serverでは実際には、同じ列にプライマリキー制約と一意制約の両方を作成できることがわかりました。私は構文的には何のエラーも投げられないと思った。プライマリキー制約とテーブルの同じ列に定義された一意制約
私はそれをテストしたところ、うまくいくようです。
サンプルコード:
CREATE TABLE testtable
(
id INT IDENTITY(1,1),
name VARCHAR(10),
CONSTRAINT PK_ID PRIMARY KEY (id),
CONSTRAINT uk_id UNIQUE (id)
)
私もそれは別にPK制約と一意制約を作成したことがわかりました。
このユニークなキーを別途作成することのメリットについて考えてみたいですか?
プライマリキーと同時にユニーク制約を作成することをお勧めしますか?答えが「いいえ」の場合、どのような場合には有利でしょうか。
私は非常に基本的な質問のように感じますが、私はいくつかの専門家の考えを得て助言したかったのです。
ありがとうございます。
主キーは定義上一意です。これは冗長で、余分なオーバーヘッドではないと私は想像できません。 – pmbAustin
すべてのプライマリキーは一意ですが、すべての一意のインデックスがプライマリキーではありません。 –