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

外部キーを自己参照することの意味は何ですか?

    ALTER TABLE [SchemaName].[TableName]  WITH CHECK ADD  
    CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
    REFERENCES [SchemaName].[TableName] ([Id])
    

    この外部キーは完全に冗長であり、削除するだけで意味がありません。行がそれ自体と一致して制約を検証するため、違反することはありません。

    階層テーブルでは、関係は2つの異なる列の間にあります(例:Id およびParentId

    オブジェクトエクスプローラーの[キー]ノードを右クリックして[新しい外部キー]を選択し、作成した外部キ​​ーを削除せずにダイアログボックスを閉じてから作成すると、ビジュアルデザイナーを使用して作成された可能性が高い理由については、開いたテーブルデザイナで他の変更を加えて保存すると、この種の冗長な制約が作成されます。



    1. MySQLで列をインクリメントします

    2. forループを使用せずにgolangを使用してpostgresでcsvから一括挿入

    3. MySQL:可変長のインデックスjson配列?

    4. SQLLiteからPosgresDBにこのエラー移行データを取得するのはなぜですか?重複するキー値が一意の制約に違反しています