Identity
をid_num
のように宣言して、id_num
に一意の数の増分を持たせることができます。
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
Identity
は各行に一意の番号を提供しているため、Primary key
の代わりにIdentity
を使用することをお勧めしますか?
Identity columns
とPrimary Keys
は2つの非常に異なるものです。 Identity column
は、自動インクリメント番号を提供します。それだけです。 Primary Key
(少なくともSQL Serverでは)は一意性を保証する一意の制約であり、通常(常にではありませんが)クラスター化されたキーです。 MS SQL Serverでは、これもインデックスです(一部のRDBMSでは、それらはそれほど密接に関連付けられていません)。インデックスとして、より高速な検索などが提供されます。よくあるIdentity columns
が存在しない場合、Primary Key
はnatural key
として頻繁に使用されますが、代わりのものではありません。
アイデンティティはnotが一意の値を保証するため、そうではありません。 IDプロパティはSET IDENTITY_INSERT <schema>.<table> ON
でバイパスできます(SQL Serverでは、使用しているRDBMSを指定していません)。
主キー制約(および一意の制約)では、一意のインデックスを使用してenforce一意性を指定します。