1

「...サイクルまたは複数のパス」エラーに関する多くの説明をすでに読みました。しかし、NULL WHERE id_boss = id_work.

1 つのテーブル:

CREATE TABLE [dbo].[Workers](
    [id_work] [int] NOT NULL,
    [id_boss] [int] NULL,
    [money] [int] NOT NULL,
 CONSTRAINT [PK_Workers] PRIMARY KEY CLUSTERED 
(
    [id_work] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

もう1つの制約:

ALTER TABLE Workers ADD CONSTRAINT FK_Boss FOREIGN KEY (id_boss) 
REFERENCES Workers (id_work) ON DELETE SET NULL

エラー:

メッセージ 1785、レベル 16、状態 0、行 5 テーブル 'Workers' に FOREIGN KEY 制約 'FK_Boss' を導入すると、サイクルまたは複数のカスケード パスが発生する可能性があります。ON DELETE NO ACTION または ON UPDATE NO ACTION を指定するか、他の FOREIGN KEY 制約を変更します。メッセージ 1750、レベル 16、状態 0、行 5 制約を作成できませんでした。以前のエラーを参照してください。

助けや説明をありがとう。パベル

4

1 に答える 1

0

実際には、同じテーブルにリンクされた外部キーを追加することはできません。それが外部キーと呼ばれる理由です- それは他のテーブルにリンクされるべきです。

ここで読むことができる詳細: http://msdn.microsoft.com/en-us/library/ms175464(v=sql.105).aspx

于 2013-11-05T11:01:16.197 に答える