2

既存のテーブル (テーブル A) の新しく作成された列と、新しく作成されたテーブル (テーブル B) の主キー列に外部キー制約を追加しようとしています。これは sql server 2008 にあります。リレーションシップを追加すると、Alter table スクリプトが失敗します。また、NULL を許可するために、テーブル A に作成された新しい列を作成しました。ただし、Check Existing data で NO を指定して保存しようとすると、関係を保存できます。これは、既存のデータに外部キー制約を作成する良い方法ですか、それともテーブル A に新しい列を追加する代わりに、多対多の関係を模倣する新しいテーブル (テーブル c) を作成する必要があります。これにより、外部キーを作成できるようになります。実際の関係は 1 対多ですが、既存のデータに対して「チェックなし」を指定する必要はありません。

4

1 に答える 1

0

はい、あなたは作ることによってそれを行うことができますChecking Existing Data On Creation Or Re-Enabling = No

新しい CHECK または FOREIGN KEY 制約を既存のデータに対して検証したくない場合は、WITH NOCHECK を使用します。

作成時の既存データの確認

于 2012-12-06T07:41:42.183 に答える