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

テーブルを変更して UNIQUE キーを追加するとエラーが発生する

    ドキュメント を参照してください テーブル制約の追加方法については、

    ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)
      

    AnimalType_id は外部キーのように聞こえるので、この列を一意にすることで 1 対 1 の関係になることを理解しているか確認したかっただけです。各タイプの動物は 1 匹しか持てません。

    一意の制約を追加するとエラーが発生するため、実際には一意の制約ではなく外部キーが必要になることをお勧めします:

    ALTER TABLE Animal
        ADD CONSTRAINT FK_Animal_AnimalType
        FOREIGN KEY
        (
            AnimalType_id
        )
        REFERENCES AnimalType
        (
            id
        )
      

    AnimalType テーブル名とその主キー列の名前を推測する必要がありました。間違っている場合は変更してください。



    1. 内部結合で最初のテーブルからすべての列を選択し、2番目のテーブルから1つの列のみを選択するためのより良い方法

    2. ロギングのために SQL Server の log4net 構成内でストアド プロシージャを使用する方法

    3. テーブルがすでに存在する場合、CREATE TABLE IFNOTEXISTSが失敗する

    4. 科学的記数法なしでSQLServerでfloatをvarcharに変換する