sql >> データベース >  >> RDS >> Sqlserver

SQL Serverテーブルに2つのID列を含めることはできますか?

    CREATE TABLE [dbo].[Foo](
        [FooId] [int] IDENTITY(1,1) NOT NULL,
        [BarId] [int] IDENTITY(1,1) NOT NULL
    )
    

    返品

    Msg 2744, Level 16, State 2, Line 1
    Multiple identity columns specified for table 'Foo'. Only one identity column per table is allowed.
    

    したがって、いいえ、2つのID列を持つことはできません。もちろん、自動インクリメント(ID)ではなく主キーを作成することもできます。

    編集:msdn:CREATE TABLE(Transact-SQL)およびCREATE TABLE(SQL Server 2000):

    テーブルごとに作成できるID列は1つだけです。



    1. 同じテーブルの列に外部キー制約を適用します

    2. PostgreSQL全文検索とトリグラムの混乱

    3. SQLServerのローカルおよびグローバル一時テーブル

    4. ORA-01438:3を挿入するときに、この列に許可されている指定された精度よりも大きい値