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

nullも許可する一意の制約を作成するにはどうすればよいですか?

    探しているのは、実際にANSI標準SQL:92、SQL:1999、およびSQL:2003の一部です。つまり、UNIQUE制約は、NULL以外の値の重複を禁止する必要がありますが、複数のNULL値を受け入れる必要があります。

    ただし、MicrosoftのSQL Serverの世界では、単一のNULLは許可されていますが、複数のNULLは許可されていません...

    SQL Server 2008 、NULLを除外する述語に基づいて一意のフィルター処理されたインデックスを定義できます:

    CREATE UNIQUE NONCLUSTERED INDEX idx_yourcolumn_notnull
    ON YourTable(yourcolumn)
    WHERE yourcolumn IS NOT NULL;
    

    以前のバージョンでは、制約を適用するためにNOTNULL述語を持つVIEWSに頼ることができました。



    1. 複数挿入SQLOracle

    2. mysql拡張機能は非推奨であり、将来削除される予定です。代わりにmysqliまたはPDOを使用してください。

    3. JDBCCreateTableの使用例ステートメント

    4. 主キーと一意キーの違い