2011/06/27

SQL Server で外部キーの設定がうまくできない

SQL Server で外部キーの設定をしようとして、次のようにSQLをたたくとなぜかエラーに。。

alter table AAAA add constraint F_KEY foreign key (aaaa) references BBBB(bbbb)


エラーメッセージは次のような感じ。

"ALTER TABLE ステートメントは FOREIGN KEY 制約 "F_KEY" と競合しています。競合が発生したのは、データベース XXXX、テーブル BBBBです。"


http://faq.tabitama.co.jp/qa5445297.html?order=DESC&by=datetime

で、DBに制約違反のデータがあるとうまくいかない、との指摘あり。

それで、テーブルAAAA内で、テーブルBBBBと外部キー制約を設定したかったフィールドを一回NULLにして、 再びクエリを実行して解決。