これは機能しません。これどうやってするの?構文へ主キーとしてSQL IDを作成しますか?
答えて
簡単な変更が必要とされているすべてです:
create table ImagenesUsuario (
idImagen int not null identity(1,1) primary key
)
明示的に「制約」キーワードを使用することで、主キー制約に特定の名前を与えるのではなく自動割り当てにSQL Serverの依存することができます名前:それは、テーブルの使用特定idImagenおよびクラスタリングの利点を上回る書き込みの量を検索する(すなわち、バランスに基づいて、最も理にかなっている場合
create table ImagenesUsuario (
idImagen int not null identity(1,1) constraint pk_ImagenesUsario primary key
)
は、「クラスタ」のキーワードを追加します他のインデックスによってテーブル)。
これは私たちがチームで生成するスクリプトと似ています。最初にテーブルを作成し、pk/fkなどの制約を適用します。
CREATE TABLE [dbo].[ImagenesUsuario] (
[idImagen] [int] IDENTITY (1, 1) NOT NULL
)
ALTER TABLE [dbo].[ImagenesUsuario] ADD
CONSTRAINT [PK_ImagenesUsuario] PRIMARY KEY CLUSTERED
(
[idImagen]
) ON [PRIMARY]
create table文で主キーの作成を避ける理由はありますか? –
私は当初、Enterprise Managerのようなツールで作成されたスクリプトを模倣していたと仮定しています。これは、(列のプロパティではなく)主キーの制約を作成していることを伝えます。また、制約の名前を付けることもできます。結局のところ、両方の方法が機能するので、どちらの方が読みやすく/保守しやすいのかは好みの問題だと思います。 – Mayo
あなたがT-SQL
を使用している場合は、あなたのコードが間違って唯一のことは、あなたがかっこ{}
代わりに括弧()
を使用したことです。
PS:IDENTITY
とPRIMARY KEY
はNOT NULL
を意味しますので、省略することもできます。
- 1. PostgreSQLのコピーコマンドは主キーIDを生成します
- 2. SQL:主キーにするか、主キーにしない?
- 3. テーブルの主キーIDを作成日の順に変更する
- 4. SQL Serverの:主キー
- 5. oracle - 主キーを使用してビューを作成する
- 6. Postgres SQLの主キーとしてSHA1署名を格納する
- 7. Mongodb:コレクション内の短い主キーとしてのオブジェクトID
- 8. Grails:主キーとしての外部キー?
- 9. GUIDを主キーとしていつ使用しますか?
- 10. System.GuidをASP.Net MVCの主キーとして使用しますか?
- 11. SQL - 主キー、クラスタードインデックス、自動インクリメント
- 12. DiscriminatorColumn主キー/ IDの一部
- 13. インデックスと主キー
- 14. SQL Server 2008でゼロの主キーとして
- 15. Djangoで2つのフィールドを持つ主キーを作成しますか?
- 16. hibernate注釈はどのようにして主キーを生成しますか?
- 17. 主キーと一意のインデックス - SQL Developerによって生成されたSQLスクリプト
- 18. プリペアドステートメントから自動生成された主キーID
- 19. SQL 2005のレプリケーションの主キーとストアプロシージャ
- 20. 値を結合して主キーを定義しますか?
- 21. エンティティフレームワーク4.1を使用した複合主キーの作成
- 22. テーブルに主キーがない場合は、主キーとして列を設定します。
- 23. SQL:主キー列。人工「ID」欄対「ナチュラル」の列
- 24. SQL Azure MVC3の主キー違反INSTEAD OFトリガーを使用して
- 25. Hibernate:composite-id主キーの一部を変更して新しい行を挿入しますか?
- 26. 主キーとIDの違いは何ですか?
- 27. 主キーと外部キー?
- 28. 複合主キーと外部キーとしてのユニークキー
- 29. 複合主キーを外部キーとして使用
- 30. 子テーブルの主キーとして外部キーを持つ
将来的には、「これはうまくいかない」と言うとき、あなたが意味することを説明することを検討してください。それは静かに何らかの形で失敗するのだろうか?あなたはエラーを受け取りますか?その場合、エラーは何ですか?あなたのコンピュータは自発的に燃焼しますか?テーブルを作成したり、テーブルに行を挿入したりすると失敗しますか? –