525

データベース テーブルで を行うにauto incrementはどうすればよいですか? フォーラムを見てみましたが、これを行う方法がわかりません。primary keySQL Server

プロパティを見ましたが、オプションが表示されません。Identity仕様プロパティに移動して yes に設定し、Identity increment1に設定するという回答を見ましたが、そのセクションはグレー表示されていて、noyesに変更できません。

これを行う簡単な方法があるはずですが、見つかりません。

4

11 に答える 11

812

画像が示すように、キー列のデータ型が であることを確認してから、intID を手動で設定します。

ここに画像の説明を入力

または 、このコードを実行するだけです

-- ID is the name of the  [to be] identity column
ALTER TABLE [yourTable] DROP COLUMN ID 
ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)

IDテーブル内の唯一の列でない場合、コードが実行されます

画像参照 fifo

于 2012-06-12T07:19:35.270 に答える
223

IDENTITYテーブルを作成するときに、次のように列を作成できます。

CREATE TABLE (
  ID_column INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  ...
);

プロパティは、IDENTITY番号 1 から列を自動インクリメントします (列のデータ型は整数でなければならないことに注意してください)。これを既存の列に追加する場合は、ALTER TABLEコマンドを使用します。

編集:
少しテストしましたが、さまざまなテーブルの [列のプロパティ] ウィンドウから ID プロパティを変更する方法が見つかりません。列をID列にしたい場合は、ALTER TABLEコマンドを使用する必要があると思います。

于 2012-06-12T07:21:33.870 に答える
94

インクリメントとシードを表示するには、Identity セクションを展開する必要があります。

ここに画像の説明を入力

編集:char(10)ではなく、整数データ型を持っていると思いました。この回答を投稿したとき、これは合理的であり、有効です

于 2012-06-12T07:19:07.597 に答える
45

データベースを展開し、テーブルを展開します。テーブルを右クリックし、ドロップダウンからデザインを選択します。 こんな感じです

下にスクロールして[列のプロパティ]に移動し、 [ Identity Specification ] を見つけて展開すると、[ Is Identity ] が [ Yes] になっていることがわかります。次に、そのすぐ下にあるIdentity Incrementを選択して、インクリメントする値を指定します。 ここに画像の説明を入力

于 2013-04-19T19:28:19.623 に答える
1

テーブルがすでに入力されている場合、列を IDENTITY 列に変更したり、非 IDENTITY 列に変換したりすることはできません。すべてのデータをエクスポートする必要があります。その後、列のタイプを IDENTITY に変更するか、その逆に変更してから、データをインポートして戻します。骨の折れるプロセスであることは承知していますが、この投稿で述べたようにシーケンスを使用する以外に代替手段はないと思います.

于 2014-01-03T11:00:09.907 に答える