2

自動インクリメントする主キーを持つテーブルを SQL Server で作成する方法はありますか? 「UniqueIdentifier」タイプを見てきましたが、これは期待どおりに動作しないようです。

現在、私は次のようなものを持っています:

CREATE TABLE [dbo].[MyTable](
        [Date] [datetime] NOT NULL,
    [MyField1] [nchar](50) NOT NULL,
    [MyField2] [nvarchar](max) NULL,
    [Key] [uniqueidentifier] NOT NULL
) ON [PRIMARY]

基本的に、KEY を 1 から開始し、レコードごとにインクリメントするだけです。

4

2 に答える 2

5

IDENTITY プロパティを探しています。

ドキュメントから:

テーブルに ID 列を作成します。このプロパティは、CREATE TABLE および ALTER TABLE Transact-SQL ステートメントで使用されます。

IDENTITY [ (seed , increment) ]

シード

テーブルにロードされる最初の行に使用される値です。

インクリメント

ロードされた前の行の ID 値に追加される増分値です。

シードと増分の両方を指定するか、どちらも指定しない必要があります。どちらも指定されていない場合、デフォルトは (1,1) です。

ところで、これはすべて Sql Server の mgmt UI からも簡単に実現できます。テーブルを右クリックして、デザインを選択します。次に、適切な列を選択し、IDENTITY プロパティを設定します。

于 2010-08-31T12:27:17.933 に答える
2

次のように、テーブルの create ステートメントで主キーを定義します。

[キー] [int] IDENTITY(1,1) NOT NULL

于 2010-08-31T12:20:15.507 に答える