web-dev-qa-db-ja.com

SQL Server Management Studio 2012の主キーの自動増分

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

私はプロパティを見ましたが、オプションを見ることができません、私はあなたがIdentity specificationプロパティに行って、それをyesに設定し、1にIdentity incrementを設定するという答えを見ました、しかしtいいえをyesに変更します。

これを行う簡単な方法があるはずですが、私はそれを見つけることができません。

389
Ledgemonkey

Key列のデータ型がintであることを確認してから、次の図に示すように手動でIDを設定します。

enter image description here

または このコードを実行する

-- 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 -

623
Raab

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

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

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

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

157
Josien

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

enter image description here

編集:私はあなたがchar(10)ではなく、整数データ型を持っていると仮定しました。私がこの答えを投稿したときに私が言ったそして有効であることは合理的です

84
gbn

データベースを展開し、テーブルを展開してテーブルを右クリックし、ドロップダウンから design を選択します。 ITlooks like this

今行きなさい 列の特性 それの下でスクロールし、見つけなさい 識別仕様 、それを拡張すればあなたは見つける - 識別である それをはいにしなさい。そのすぐ下の Identity Increment を選択します。その中で増分する値を指定します。 enter image description here

30
FIFO BIZSOL

おそらく何か足りないのですが、これがSEQUENCEオブジェクトで機能しないのはなぜですか?これはあなたが探しているものではありませんか?

例:

CREATE SCHEMA blah.
GO

CREATE SEQUENCE blah.blahsequence
START WITH 1
INCREMENT BY 1
NO CYCLE;

CREATE TABLE blah.de_blah_blah
(numbers bigint PRIMARY KEY NOT NULL
......etc

でシーケンスを参照するときにINSERTコマンドを言うだけで使用します。

NEXT VALUE FOR blah.blahsequence

_ sequence _ の詳細情報とオプション

7
Techie Joe

Data Type:intを使用している場合は、自動インクリメントする行を選択して列プロパティタグに移動できます。そこであなたはアイデンティティを 'yes'に設定することができます。自動インクリメントの開始値もそこで編集できます。私が手伝ってくれることを願っています;)

6
M.Schrecker

私はすでにテーブルを作成したを持っていてテーブルを削除せずにそれを変更することができなかったのでこの問題を抱えていました。

オブジェクトエクスプローラでテーブルを右クリックします。

Script Table as > DROP And CREATE To > New Query Editor Window

次にJosienが言ったスクリプトを編集します。 CREATE TABLEがある一番下までスクロールし、あなたの主キーを見つけて、カンマの前の最後にIDENTITY(1,1)を追加します。スクリプトを実行します。

この問題のため、DROPとCREATEスクリプトも私にとって役に立ちました。 (生成されたスクリプトが処理します)

0
cheriejw